解谜
奶牛们发明了一种名为MQ的新型解谜游戏,游戏采用 3x3 方阵的形式表示农场的一块田地,田地的每个方格都由特定品种的奶牛占据,总共有A到Z共26种可能的奶牛品种。每次游戏,奶牛们会输入一个 3x3 的大写字母方阵,表示他的猜测结果。若猜测的方格是正确的,则此方格用绿色高亮显示,若此方格的猜测结果是品种正确但位置错误,则此方格用黄色高亮显示。
现在给出正确的方阵,和一个猜测的方阵,请计算猜测的方阵中绿色和黄色高亮显示的方格的数量。
输入格式
输入的前 3 行给出正确的方阵,以下 3 行表示一个猜测。
输出格式
输出两行。输出的第一行为以绿色高亮显示的方格的数量。输出的第二行为以黄色高亮显示的方格的数量。
输入/输出例子1
输入:
COW
SAY
MOO
WIN
THE
IOI
输出:
1
1
输入/输出例子2
输入:
AAA
BBB
CCC
AYY
AAA
ZZZ
输出:
1
2
样例解释
【样例1解释】
在猜测的方阵中,位置为(3,2)的奶牛品种O与正确答案的同位置奶牛品种一致,所以这个方格以绿色高亮显示。猜测方阵中位置为(1,1)的奶牛品种W在正确答案中存在,但位置不对,所以它以黄色高亮显示。猜测方阵中其余方格的奶牛品种,在正确答案方阵中都无法找到。
【样例2解释】
在猜测的方阵中,位置为(1,1)的奶牛品种A与正确答案的同位置奶牛品种一致,所以这个方格以绿色高亮显示。正确方阵中还有2个A,猜测方阵中还有3个A,且都不在正确位置上,所以猜测方阵中有两个品种为A的格子应当以黄色高亮显示。
上代码:
#includeusing namespace std; char a[5][5],b[5][5],s; int ans1,ans2,ca[27],cb[27]; int main() { for(int i=1;i<=3;i++) for(int j=1;j<=3;j++) { cin>>s; a[i][j]=s; ca[s-'A']++; } for(int i=1;i<=3;i++) for(int j=1;j<=3;j++) { cin>>s; b[i][j]=s; cb[s-'A']++; if(s==a[i][j]) ans1++,ca[s-'A']--,cb[s-'A']--; } for(int i=0;i<26;i++) ans2+=min(ca[i],cb[i]); cout<



