think:
1题意先给出一个数字N代表之后每次输入的元素个数,每组输入数据的第一行代表目标集合,从第二行开始代表每次输入N个猜测元素与目标集合进行判断,1>判断同一下标对应的元素相等的个数(A),2>判断有多少个元素在两个集合中都出现过但是位置不对(B)
2借鉴紫书:直接统计可得A,为了求B,对于每个数字(1~9),统计两者出现的次数c1和c2,则min(c1, c2)就是该数字对B的贡献。最后要减去A的部分
以下为Accepted代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, i, j, k, a[1004], b[1004], c1, c2, x, y;
k = 0;
while(s