LA3213
来源:互联网 发布:mac excel好用吗 编辑:程序博客网 时间:2024/05/29 14:57
题目大意:
找到一个映射 使得两个字符串相同如果可以找到输出YES,反之输出NO
思路:
刚开始以为一定要按顺序一一对应,发现第一组数据答案是错的,后来才知道不一定要按照顺序。 那么只需要计算每个字母的个数,比较字母个数是否一样如果全部一样就可以找得到映射。
代码:
#include <iostream>using namespace std;#include <stdio.h>#include <cstring>#include <map>#include <algorithm>map<char,char> m;char s[1010],str[1010];int count1[1010],count2[1010];int main() { while(scanf("%s",s)!=EOF) { // m.clear(); // memset(flag,'\0',sizeof(flag)); memset(count1,0,sizeof(count1)); memset(count2,0,sizeof(count2)); scanf("%s",str); int len = strlen(s); for(int i = 0; i < len; i++) count1[s[i] - 'A']++; for(int i= 0; i < len; i++) count2[str[i] - 'A']++; sort(count1,count1 + 26); sort(count2,count2 + 26); int k; for( k = 0 ; k < 26; k++) if(count1[k] != count2[k]) break; /* for(i = 0; i < len; i++) { if(flag[s[i] - 'A'] == '\0') flag[s[i] - 'A'] = str[i]; else if(flag[s[i] - 'A'] != str[i]) break;*/ // cout << flag[s[i]]; // if(flag[s[i]] == '\0') // flag[s[i]] = str[i]; // else // break; if(k >= 26) printf("YES\n"); else printf("NO\n"); } return 0;}
0 0
- LA3213
- LA3213加密
- vi编辑器使用方法(最详细)
- 需求分析之——用例图
- 简单总结修改项目中navBar和tabBar的坑
- Windows主机PING不通ubuntu虚拟机,putty连不上虚拟机的解决方法
- Android 之PopupWindow弹出下拉列表
- LA3213
- HTML5 LocalStorage 本地存储
- MPU(Memory Protection Units) 《ARM System Developer's Guide》Chapter-13
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- Spring 管理下的web项目,对Properties文件重要参数的加密解密处理
- C#4.0的dynamic用法(一)——巧用反射
- 1/29_2
- sprintf/sscanf中的一个小坑
- ble_time.c用法