题目连接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3589
1,题目的意思很简单,就是给两个四字符串,用*A*B的形式输出他们的相似程度。
2,没有用字符型变量通过循环接受输入,实现对个体的分离
3,用in数组标记第一个数组出现的数字,并用num记录它的数值
4,处理下一个四字符串时,根据in来统计有多少个字符与前一个串相同,用直接比较的方法判断有多少个字符位置完全相同,最后用前者减掉后者即可。
#include <iostream>
using namespace std;
#define MAX 10
int main()
{
freopen("in.txt","r",stdin);
bool in[MAX];
char n;
int t,i,a,b,num[4];
cin >> t;
while(t--)
{
memset(in,false,sizeof(in));
for(i = 0;i < 4;++i)
{
cin >> n;
num[i] = n - '0';
in[num[i]] = true;
}
a = b = 0;
for(i = 0;i < 4;++i)
{
cin >> n;
if(in[n-'0'])
++b;
if(num[i] == n-'0')
++a;
}
cout << a << 'A' << b-a << 'B' << endl;
}
return 0;
}