例题,但书上没代码,就发上来了。前几天理解错题意了,以为是像凯撒密码一样固定位移映射,后来才发现只是个普通的单表替换。书上让用qsort,这几天学了点c++ ,就直接用sort了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include<iostream> #include<cstring> #include<algorithm> #define maxn 110 using namespace std; int main() { int i,j,n,k; int cnt1[26],cnt2[26]; char a[maxn],b[maxn]; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); while(cin>>a>>b) { k=1; memset(cnt1,0,sizeof(cnt1)); memset(cnt2,0,sizeof(cnt2)); n=strlen(a); for(i=0;i<n;i++) { cnt1[a[i]-65]++; cnt2[b[i]-65]++; } sort(cnt1,cnt1+26); sort(cnt2,cnt2+26); for(i=25;i>=0;i--) { if(!k) break; if(cnt1[i]!=cnt2[i]) k=0; } if(k) cout<<"YES\n"; else cout<<"NO\n"; } return 0; }
|
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **