POJ 2159 Ancient Cipher(字符频率统计)

//简单题,注意理解题意!我就是因为理解错题意WA了N次,注意那个对应关系不是固定不变的,是每个字母可以有独立的对应 //因此不必考虑对应了,只需要考虑字母出现频数相同就行 //sort频率数组后然后比较,如果都相同则YES #include<iostream> #include<string> #include<algorithm> using namespace std; string str1,str2; int f1[26],f2[26]; int main() { memset(f1,0,sizeof(f1)); memset(f2,0,sizeof(f2)); bool ok = 1; cin >> str1 >> str2; for(int i = 0;i < str1.size();++i) f1[str1[i]-'A']++; for(int i = 0;i < str2.size();++i) f2[str2[i]-'A']++; sort(f1,f1+26); sort(f2,f2+26); for(int i = 0;i < 26;++i) { if(f1[i] != f2[i]) { ok = 0; cout << "NO" << endl; break; } } if(ok) cout << "YES" << endl; return 0; }  

你可能感兴趣的:(stdstring)