2 条题解
-
0
剑臣留仙 LV 8 @ 3 年前
#include<iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << a + b << endl;
} -
08 年前@
虫食算
- 1
信息
- 难度
- 6
- 分类
- (无)
- 标签
- (无)
- 递交数
- 16
- 已通过
- 10
- 通过率
- 62%
- 上传者
#include<iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << a + b << endl;
}
虫食算
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
char s1[30],s2[30],s3[30];
int ans[30],v[30],used[30];
int n;
bool check()
{
int j=0;int res;
for(int i=n;i>=1;i--)
{
res=j+(v[s1[i]-'A'+1])+(v[s2[i]-'A'+1]);
if(res>=n) {res-=n;j=1;}
else j=0;
if(res!=v[s3[i]-'A'+1]) return false;
}
return true;
}
void dfs(int pos)
{
if(pos==n+1){
if(check())
{
memcpy(ans,v,sizeof(v));
for(int i=1;i<=n;i++)
printf("%d ",v[i]);
exit(0);
}
return;
}
for(int i=0;i<=n-1;i++)
{
if(used[i]==0)
{
// if(check(i,pos)==false) continue;
used[i]=1;
v[pos]=i;
dfs(pos+1);
used[i]=0;
}
}
}
int main()
{
freopen("in.txt","r",stdin);
scanf("%d",&n);
scanf("%s",&s1[1]);
scanf("%s",&s2[1]);
scanf("%s",&s3[1]);
dfs(1);
return 0;
}