1. 程式人生 > >UVa LA 3213 - Ancient Cipher 難度: 0

UVa LA 3213 - Ancient Cipher 難度: 0

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>
#include 
<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, string
b) { 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])return
false; } 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; }
View Code

UVa LA 3213 - Ancient Cipher 難度: 0