社区讨论

c++70分求救

P1125[NOIP 2008 提高组] 笨小猴参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m6630z97
此快照首次捕获于
2025/01/21 14:16
去年
此快照最后确认于
2025/11/04 11:08
4 个月前
查看原帖
CPP
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int zm[27]={};
string s;
bool sushu(int n){
	int t=5;
	if(n==2 || n==3)return 1;
	if( n==0 || n==1 || n%2==0 || n%3==0)return 0;
	for(int i=1;t<=sqrt(n);i++){
		t=6*i-1;
		if(n==t || n==t+2)return 1;
		if(n%t==0 || n%(t+2)==0)return 0;
	}
	return 1;
}
int main(){
	int maxn,minn;
	cin>>s;
	for(int i=0;i<s.size();i++){
		zm[int(s[i]-'a')]++;
	} 
	maxn=minn=zm[0];
	for(int i=0;i<26;i++){
		if(zm[i]==0)continue;
		if(zm[i]>maxn)maxn=zm[i];
		if(zm[i]<minn)minn=zm[i];
	}
	if(sushu(maxn-minn))
		cout<<"Lucky Word\n"<<maxn-minn;
	else 
		cout<<"No Answer\n"<<0;
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...