HUST Online Judge WebBoard
Problem 114514 >> "满籍理解"
zhangxuanzhen @ 2024-12-17 20:42:33
[ Quote ] [ Edit ] [ Delete ] 1#
问题 W: 小鳄鱼的词汇量
内存限制:128 MB
时间限制:1.000 S
标准输入输出
题目类型:传统
评测方式:文本比较
上传者:yangqixian
提交:7
题目描述
小鳄鱼的词汇量很小,所以每次做英语选择题的时候都很头疼。
但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
对于每个选项,在不考虑大小写的情况下,他找到其中出现最多的字母和出现最少的字母(没有出现的字母不算,至少是1次),如果出现最多的字母出现次数减去最少字母出现的次数是一个质数,那么小鳄鱼认为这是一个LUCKY选项,这个选项很有可能是答案。
给定四个选项,请判断四个选项中哪些是LUCKY选项

输入格式
总共四行,每行一个字符串,表示一个选项
输出格式
四行,分别表示第1到第4行的选项是否是LUCKY选项
如果是LUCKY选项那么用1表示,如果不是那么用0表示。
输入样例 复制
A funny pig
A independent tiger
So many unicorns
A dangerious dragon
输出样例 复制
0
1
1
1
分类标签
★★★★
zhangxuanzhen @ 2025-02-24 20:29:33
[ Quote ] [ Edit ] [ Delete ] 2#
#include<bits/stdc++.h>
using namespace std;
map<char,int> m;
bool zs(int n){
if(n==1||n==0){
return false;
}
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
return false;
}
}
return true;
}
void qing(){
for(char i='a';i<='z';i++){
m[i] = 0;
}
}
string zhuan(string s){
for(int i=0;i<s.size();i++){
if(s[i]>='A'&&s[i]<='Z'){
s[i] = s[i]+32;
}
}
return s;
}
int fo(){
int mx = INT_MIN;
int mn = INT_MAX;
for(char i='a';i<='z';i++){
if(m[i]){
mx = max(mx,m[i]);
mn = min(mn,m[i]);
}
}
return mx-mn;
}
int main(){
// 1122a987798
// adsf 7
// aaabb
// cccddd
string s;
for(int k=1;k<=4;k++){
getline(cin,s);
s = s+" ";
qing();
s = zhuan(s);
for(int i=0;i<s.size();i++){
m[s[i]]++;
}
if(zs(fo())){
cout<<1<<endl;
}else{
cout<<0<<endl;
}
}
return 0;
}
zhangxuanzhen @ 2025-02-24 20:29:57
[ Quote ] [ Edit ] [ Delete ] 3#
手要被干废了
zhangxuanzhen @ 2025-02-24 20:30:06
[ Quote ] [ Edit ] [ Delete ] 4#
终于对了
zhangwenbo @ 2025-02-24 20:54:42
[ Quote ] [ Edit ] [ Delete ] 5#
别用我的114514的Problem了好吗()
zhangxuanzhen @ 2025-02-26 19:55:41
[ Quote ] [ Edit ] [ Delete ] 6#
这是好久之前的,@zhangwenbo