UVa 1339
来源:互联网 发布:java 获取当前时间 编辑:程序博客网 时间:2024/04/29 15:53
题目
给定两个长度一样且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,之后对26个字母做一个一一映射,使得两个字符串相同。
例如,JWPUDJSTVP重排后可以得到WJDUPSJPVT,之后把每个字母映射到它的前面一个字母,得到VICTORIOUS,输入两个字符串,输出YES或者NO。
代码
#include<algorithm> #include<cstring> using namespace std; bool cmp(const int a,const int b) { return a<b; } int main() { string fst; string sec; while(cin >> fst >> sec) { int a = fst.length(); int array[26]; int array1[26]; memset(array,0,sizeof(array)); memset(array1,0,sizeof(array1)); for(int i = 0;i < a;i++) { array[fst[i] - 'A']++; array1[sec[i] - 'A']++; } sort(array,array+26,cmp); sort(array1,array1+26,cmp);//cmp函数作为sort函数的参数 int x = 5; for(int i = 0;i < 26;i++) { if(array[i] != array1[i]) { x = 0; } } if(x == 0) cout << "NO" << endl; else cout << "YES" << endl; } }
理解
这个题是书上的第一题,为了讲“把函数作为函数的参数”,所以主要考查的是排序,然而脑子笨的我卡在了映射上。。。。这个给定的两个字符串,打乱顺序,在影射,实际上就是只要两组里对应的字母数相同就可以,所以就直接统计不同的字母有多少个,然后每个字母出现了多少次就可以了。。。
0 0
- UVA 1339
- uva 1339
- UVa 1339
- UVa 1339
- UVA-1339
- UVa 1339
- UVa 1339
- UVA 1339
- UVA 1339
- UVA 1339
- UVa 1339
- uva 1339
- UVA Ancient Cipher UVA - 1339
- UVA 1339 - Ancient Cipher
- uva 1339 Ancient Cipher
- Uva - 1339 - Ancient Cipher
- UVA 1339 - Ancient Cipher
- UVA 1339 - Ancient Cipherguo
- 抽象工厂
- jQuery笔记之过滤选择器
- express 下的handlebars应用
- Ubuntu安装MongoDB
- IO流_自定义类模拟BufferedReader的readLine()功能案例
- UVa 1339
- 使用Filter过滤器实现权限访问
- 尽快处理完一切
- 中山大学计算机组成原理多周期CPU实验
- 【tensorflow1.0学习笔记003】构造神经网络与结果可视化代码
- 【Leetcode】342. Power of Four
- Android中获取短信的内容
- Android 一款十分简洁、优雅的日记APP
- Android 获取手机联系人和手机短信和一个简单的yinyue