代码如下:
#include<bits/stdc++.h>
using namespace std;
char c[28]={' ','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
string a[4],b[4];
map<char,int>mp,mp1;
int ans1,ans2;
int read()
{
char c=getchar();int x=0,f=1;
while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}
while(isdigit(c)) x=(x<<1)+(x<<3)+(c^48),c=getchar();
return x*f;
}
int main()
{
cin>>a[1]>>a[2]>>a[3]>>b[1]>>b[2]>>b[3];
for(int i=1;i<=3;i++)
for(int j=0;j<3;j++)
mp[a[i][j]]++,mp1[b[i][j]]++;
for(int i=1;i<=3;i++)
for(int j=0;j<3;j++)
if(a[i][j]==b[i][j])
mp[a[i][j]]--,ans1++,mp1[a[i][j]]--;
for(int i=1;i<=26;i++) if(mp[c[i]]<=mp1[c[i]]&&mp[c[i]]) ans2+=mp[c[i]];
cout<<ans1<<endl<<ans2;
return 0;
}
第六个点错了。