UVa LA 3213 - Ancient Cipher 難度: 0
阿新 • • 發佈:2019-03-01
alt pac spa index cal online tput uva click
題目
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1214
題意
問字符串a能否是字符串b經過某種替換+移位密碼的密文
思路
明顯,計數對的上就行
劉書題目描述不全面
代碼
#include <algorithm> #include <cassert> #include <cmath> #include <cstdio> #includeView Code<cstring> #include <iostream> #include <map> #include <queue> #include <set> #include <string> #include <tuple> #define LOCAL_DEBUG using namespace std; typedef pair<int, int> MyPair; int cnta[256]; int cntb[256]; bool judge(string a, stringb) { memset(cnta, 0, sizeof cnta); memset(cntb, 0, sizeof cntb); for (int i = 0; i < a.size(); i++) { cnta[a[i]]++; cntb[b[i]]++; } sort(cnta, cnta + 256); sort(cntb, cntb + 256); for (int i = 0; i < 256; i++) { if (cnta[i] != cntb[i])returnfalse; } return true; } int main() { #ifdef LOCAL_DEBUG freopen("C:\\Users\\Iris\\source\\repos\\ACM\\ACM\\input.txt", "r", stdin); //freopen("C:\\Users\\Iris\\source\\repos\\ACM\\ACM\\output.txt", "w", stdout); #endif // LOCAL_DEBUG int T; string a, b; for (int ti = 1;cin>>a>>b; ti++) { if (judge(a, b))puts("YES"); else puts("NO"); } return 0; }
UVa LA 3213 - Ancient Cipher 難度: 0