北大3589题

题目连接: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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值