UVa 1339 Ancient Cipher【排序】

/*

中文题目      古老的密码

中文翻译-大意  给你两个字符串,看你能不能将第一个字符变化位置(重排),变成和第二个字符串的26个字母一一对应。

解题思路:将两个字符串的各个字符的数量统计出来,如果各个字符串的数量都是一样的,那么就输出yes,否则输出no

难点详解:在统计每个字符出现的次数有点小难度

关键点:排序

解题人:lingnichong

解题时间:2014/08/26    00:36

解题体会:很好的一题

*/

1339 - Ancient Cipher

Time limit: 3.000 seconds

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char cot1[300],cot2[300];
int a[30],b[30];
int main()
{
	int i,l,len1,len2;
	while(~scanf("%s%s",cot1,cot2))
	{
		memset(a,0,sizeof(a));
		memset(b,0,sizeof(b));
		len1=strlen(cot1);
		len2=strlen(cot2);
		if(len1>len2)    l=len1;
		else    l=len2;
		for(i=0;i<l;i++)
		{
			++a[cot1[i] - 'A'];
			++b[cot2[i] - 'A'];
		}
		sort(a,a+26);
		sort(b,b+26);
		for(i=0;i<26;i++)
			if(a[i] != b[i])   break;
		printf(i==26?"YES\n" : "NO\n");
	}
	return 0;
} 
时间: 2024-10-12 13:55:21

UVa 1339 Ancient Cipher【排序】的相关文章

UVa 1339 Ancient Cipher --- 水题

UVa 1339 题目大意:给定两个长度相同且不超过100个字符的字符串,判断能否把其中一个字符串重排后,然后对26个字母一一做一个映射,使得两个字符串相同 解题思路:字母可以重排,那么次序便不重要,可以分别统计两个字符串中的各个字母出现的次数,得到两个cnt[26]数组, 又由于可以进行映射,则可以直接对两个数组进行排序后判断是否相等(相当于原来相等的值的两个地方做映射) /* UVa 1339 Ancient Cipher --- 水题 */ #include <cstdio> #incl

uva 1339 Ancient Cipher(字符串处理)

uva 1339 Ancient Cipher Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in encrypted form to prevent eavesdropping. T

uva 1339 Ancient Cipher

大意:读入两个字符串(都是大写字母),字符串中字母的顺序可以随便排列.现在希望有一种字母到字母的一一映射,从而使得一个字符串可以转换成另一个字符串(字母可以随便排列)有,输出YES:否,输出NO:exp: 输入HAHAHEHE 输出YES 可以将A→E,或E→A: 关键在于,问题简化:因为不用考虑字母位置,所以可以分别统计两个字符串中不同字母出现次数,计入数组counts1和counts2.那么,怎么知道谁和谁对应呢?这里面有个隐含条件:如果A→B,那么A在1数组出现的次数和B在2数组中出现的次

UVa1399.Ancient Cipher

题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4085 13855995 1339 Ancient Cipher Accepted C++ 0.012 2014-07-09 12:35:33 Ancient Cipher Ancient Roman empire had a strong government system wit

uva--1339 - Ancient Cipher(模拟水体系列)

1339 - Ancient Cipher Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in encrypted form to prevent eavesdropping. The

UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher

Regionals 2004 >> Europe - Northeastern 问题链接:UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher.基础训练题,用C语言编写程序. 对两组字符串分别进行字母统计,接着对统计结果进行排序,然后对排序后的结果进行比较.如果相同,说明可以找到一种一一映射,使得两个字符串相同. AC的C语言程序如下: /* UVA1339 UVALive3213 POJ2159 ZOJ2658 Ancient Cipher *

poj 2159 D - Ancient Cipher 文件加密

Ancient Cipher Description Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents were sent between provinces and the capital in encrypted form to prevent eavesdropping

poj 2159 Ancient Cipher(水)

Ancient Cipher Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30695   Accepted: 10023 Description Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents w

poj2159 Ancient Cipher

Ancient Cipher Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 29154   Accepted: 9547 Description Ancient Roman empire had a strong government system with various departments, including a secret service department. Important documents we