60分求助!!
查看原帖
60分求助!!
881317
spessert楼主2024/3/22 21:29

1,3,8,9的测试点没过

#include<bits/stdc++.h>
using namespace std;
struct chara{
   char a;  //字母 
   int sum;	//出现次数 
}ch[100];
int cnt=0;
int judge(char x){  
	for(int i=0;i<cnt;i++){
		if(ch[i].a==x){
			return i;
		}
	}
	return -1;
}
bool cmp(chara x,chara y){
	return x.sum<y.sum;
}
bool juegez(int x){
	if(x==1||x==0) return false;
	for(int i=2;i<x;i++){
		
		if(x%i==0){
			return false;
		}
		
	}
	return true;
}
int main()
{
	string str;
	cin>>str;

	for(int i=0;i<str.size();i++){
		int flat=judge(str[i]);
		//出现过就返回结构体数组下标,没有就增加一个结构体
		if(flat==-1){
			ch[cnt].a=str[i];
			ch[cnt].sum++;
			cnt++;
		}else{
			ch[flat].sum++;
		}
	}
	
	sort(ch,ch+cnt,cmp);
	int num=ch[cnt-1].sum-ch[0].sum;
	if(juegez(num)){
		cout<<"Lucky Word"<<endl<<num;
	}else{
		cout<<"No Answer"<<endl<<num;
	}
	return 0;
}
2024/3/22 21:29
加载中...