uva1339Ancient Cipher
来源:互联网 发布:八极拳小说知乎 编辑:程序博客网 时间:2024/06/15 03:12
题目大意:给定两个长度均为n的字符串,判断他们之间的26个字母能否一一对应,即做一个一一映射后使得两个字符串相同(比如ABB和CDD可以一一映射,方法是A>C,B>D,B>D,但ABC,和DDE不可以);输入两个字符串,输出YES或者NO;
题目思路:由题意可知,要形成映射,那么左右两边映射的字母个数一定相等,那么我们只需统计输入的26字母每个字母输入的个数,然后排序,比较左右两边的字符个数是否相同即可!
#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX 110char sa[MAX],sb[MAX];int a[MAX],b[MAX];int cmp(const void *a,const void *b){ return *(int *)a- *(int *)b;}int main(){ while (scanf("%s%s",sa,sb)!=EOF) { int n,i; n=strlen(sa); memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for (i=0;i<n;i++) { a[sa[i]-'A']++; b[sb[i]-'A']++; } for (i=0;i<n;i++) { //printf("%d %d\n",a[i],b[i]); } qsort(a,26,sizeof(int),cmp); qsort(b,26,sizeof(int),cmp); for (i=0;i<26;i++) { //printf("%d %d\n",a[i],b[i]); if (a[i]!=b[i]) { printf("NO\n"); break; } } if (i>=26) printf("YES\n"); } return 0; }
- uva1339Ancient Cipher
- Cipher
- Cipher
- Cipher
- cipher
- Cipher Code
- 1026 Cipher
- EVP cipher
- Playfair Cipher
- 加密---Cipher
- Cipher-----置换
- Cipher(P1026)
- Ancient Cipher
- Cipher Message
- POJ2159Ancient Cipher
- Cipher Message
- Cipher Lock
- Cipher Lock
- 让SELECT 查询结果额外增加自动递增序号
- HDU 1877 又一版 A+B 及 itoa函数 应用 头文件 #include <stdlib.h>
- Android增加键值(二)
- openjdk编译及调试
- Codeforces Round #196 (Div. 2) / 337B Routine Problem(数学)
- uva1339Ancient Cipher
- 【黑马程序员】反射机制
- 权限管理之基于ACL的实现:针对需求做分析和设计
- 解决javaWEB开发过程中后台接受前台的中文信息乱码的问题
- 苹果可能已经错失购买Twitter的最佳时机
- 老码农教你学英语
- android Installation failed due to invalid URI! 错误处理
- 微软笔试题,两天才懂
- hdu 1045 Fire Net(回溯搜索)