蓝桥杯习题集_ 算法训练 出现次数最多的整数
2018-02-28 20:41
246 查看
原文:
算法训练 Anagrams问题 时间限制:1.0s 内存限制:512.0MB 问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例样例输入Unclear
Nuclear样例输出Y
试题分析:先考虑将所有字母变成小写,再统计每个单词出现次数。
AC代码:#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const int maxn=200;
int c1[maxn];
int c2[maxn];
char f(char ch)
{
char c;
if(ch>='A'&&ch<='Z')
c=ch+32;
else if(ch>='a'&&ch<='z')
c=ch;
return c;
}
int main()
{
int i,x,ans=1;
string line1,line2;
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
getline(cin,line1);
getline(cin,line2);
if(line1.size()!=line2.size())
cout<<"N";
//小写化
for(i=0;i<line1.size();i++)
line1[i]=f(line1[i]);
for(i=0;i<line2.size();i++)
line2[i]=f(line2[i]);
for(i=0;i<line1.size();i++)
{
x=line1[i];
c1[x]++;
}
for(i=0;i<line2.size();i++)
{
x=line2[i];
c2[x]++;
}
for(i=0;i<line2.size();i++)
{
x=line2[i];
if(c1[x]!=c2[x])
{
ans=0;
break;
}
}
if(ans)
{
cout<<"Y";
}else{
cout<<"N";
}
return 0;
}
算法训练 Anagrams问题 时间限制:1.0s 内存限制:512.0MB 问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例样例输入Unclear
Nuclear样例输出Y
试题分析:先考虑将所有字母变成小写,再统计每个单词出现次数。
AC代码:#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const int maxn=200;
int c1[maxn];
int c2[maxn];
char f(char ch)
{
char c;
if(ch>='A'&&ch<='Z')
c=ch+32;
else if(ch>='a'&&ch<='z')
c=ch;
return c;
}
int main()
{
int i,x,ans=1;
string line1,line2;
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
getline(cin,line1);
getline(cin,line2);
if(line1.size()!=line2.size())
cout<<"N";
//小写化
for(i=0;i<line1.size();i++)
line1[i]=f(line1[i]);
for(i=0;i<line2.size();i++)
line2[i]=f(line2[i]);
for(i=0;i<line1.size();i++)
{
x=line1[i];
c1[x]++;
}
for(i=0;i<line2.size();i++)
{
x=line2[i];
c2[x]++;
}
for(i=0;i<line2.size();i++)
{
x=line2[i];
if(c1[x]!=c2[x])
{
ans=0;
break;
}
}
if(ans)
{
cout<<"Y";
}else{
cout<<"N";
}
return 0;
}
相关文章推荐
- 蓝桥杯习题集_ 算法训练 出现次数最多的整数
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯——算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯算法训练_2的次幂表示+前缀表达式+Anagrams问题+出现次数最多的整数
- 蓝桥杯:算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯-算法训练-出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯 ALGO-90 算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数
- 蓝桥杯-算法训练 出现次数最多的整数
- 蓝桥杯 算法训练 出现次数最多的整数(水)
- 出现次数最多的整数-蓝桥杯算法训练
- 蓝桥杯——算法训练 出现次数最多的整数
- 2016蓝桥杯算法训练——出现次数最多的整数