50分求调
查看原帖
50分求调
358793
想不好名字楼主2025/8/30 18:55

下载了第一个样例,看了半天都觉得跟输出一样,求dalao指教

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>

using namespace std;

int a[100],b[100],maxn=0,minn=10086;
string s;
int f[110];bool su[110];

void prime(int n){
	su[1]=0;
	int cnt=0;
	for(int i=2;i<=n;++i){
		if(su[i]) {
			a[++cnt]=i;
		}
		for(int j=1;j<=cnt and i*a[j]<=n;++j){
			su[i*a[j]]=0;
			if(i%a[j]==0) break;
		}
	}
}

int fx(int n){
	for(int i=1;i<=100;++i){
		if(n==a[i] and a[i]!=0){
			return 1;
		}
	}
	return 0;
}

int main(){
	cin>>s;
	memset(su,1,sizeof(su));
	prime(100);
	for(int i=0;i<s.size();++i){
		b[s[i]-'a']++;
	}
	for(int i=0;i<26;++i){
		if(b[i]==0) continue;
		maxn=max(maxn,b[i]);
		minn=min(minn,b[i]);
	}
	int ans=maxn-minn;
	if(fx(ans)==1){
		cout<<"Lucky Word"<<endl<<ans;
	}
	else {
		cout<<"No Answer"<<endl<<"0";
	}
	return 0;
} 
2025/8/30 18:55
加载中...