Help:91分
查看原帖
Help:91分
551100
Hoks楼主2022/5/9 22:07

代码如下:

#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;
}

第六个点错了。

2022/5/9 22:07
加载中...