P1125 [NOIP2008 提高组] 笨小猴(质数判断和快速排序找字符串最大值,最小值)

简介: P1125 [NOIP2008 提高组] 笨小猴(质数判断和快速排序找字符串最大值,最小值)

题目描述



笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!


这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。


输入格式



一个单词,其中只可能出现小写字母,并且长度小于100 。


输出格式



共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;


第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出 0。


输入输出样例



输入

error


输出  

1. Lucky Word
2. 2


输入  

olympic


输出  

1. No Answer
2. 0


题目分析,我们可以先把每一位输入的字符拍好序然后统计个数,之后就排序,取最大值,最小值,最后搞一个判断是否是质数的bool函数,具体操作看代码。


顺便提一下,这个素数为什么要用sqrt(x);可以减少时间复杂度


因为如果它不是质数,那么它一定可以表示成两个数(除了1和它本身)相乘,这两个数必然有一个小于等于它的平方根。只要找到小于或等于的那个就行了


#include<bits/stdc++.h>
const int  maxn=1e6+7;
using namespace std;
string s;
int sum1,sum2,a[maxn],sum[maxn],cnt; 
bool zx(int x)
{
  if(x==0||x==1) return false;
  for(int i=2;i<=sqrt(x);i++)
  {
    if(x%i==0) return false;
  }
   return true;
}
int main()
{
  cin>>s;
  for(int i=0;i<=s.size()-1;i++)
  {
    a[i]=s[i]-48;
  }
  sort(a,a+s.size());
  for(int i=0;i<s.size();i++)
  {
    if(a[i+1]==a[i]) sum[cnt]++;
     else  cnt++;
  }
  sort(sum,sum+cnt);
  if(zx(sum[cnt-1]-sum[0]))
  {
    cout<<"Lucky Word"<<endl;
    cout<<sum[cnt-1]-sum[0];
  }
  else 
  {
    cout<<"No Answer"<<endl;
    cout<<0<<endl;
    return 0;
  }
}


相关文章
|
前端开发 程序员 开发工具
解决Material Theme UI插件收费问题
解决Material Theme UI插件收费问题
解决Material Theme UI插件收费问题
|
jenkins Java Devops
【DevOps】Idea 集成 jenkins 插件
【DevOps】Idea 集成 jenkins 插件
1983 0
【DevOps】Idea 集成 jenkins 插件
|
JSON fastjson Java
下个十年高性能 JSON 库来了:fastjson2!
下个十年高性能 JSON 库来了:fastjson2!
1852 0
|
JSON Java Maven
使用`MockMvc`来测试带有单个和多个请求参数的`GET`和`POST`接口
使用`MockMvc`来测试带有单个和多个请求参数的`GET`和`POST`接口
492 3
|
SQL 存储 缓存
SQL Server 数据太多如何优化
11种优化方案供你参考,优化 SQL Server 数据库性能得从多个方面着手,包括硬件配置、数据库结构、查询优化、索引管理、分区分表、并行处理等。通过合理的索引、查询优化、数据分区等技术,可以在数据量增大时保持较好的性能。同时,定期进行数据库维护和清理,保证数据库高效运行。
328 4
|
负载均衡 监控 算法
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的高校运动会管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的高校运动会管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
179 1
|
SQL 存储 JSON
AlaSQL.js:用SQL解锁JavaScript数据操作的魔法
AlaSQL.js:用SQL解锁JavaScript数据操作的魔法
352 1
|
程序员 开发者
IDEA插件-Power Mode II键盘炫酷效果
Power Mode II 是一款为 IntelliJ IDEA 设计的插件,旨在为编码过程增添动感和趣味性。这款插件通过在代码编写时添加视觉特效、声音效果和其他动态元素,为开发者提供了一个独特且富有创意的编程体验。
1268 0
IDEA插件-Power Mode II键盘炫酷效果
|
前端开发 Java 数据库
Java一分钟之-Spring WebFlux:响应式编程
【6月更文挑战第16天】Spring WebFlux是Spring Framework 5中的非阻塞Web框架,采用Reactor和响应式编程,支持在Netty等服务器上运行。它提供非阻塞IO和函数式路由,提升并发性能。常见问题包括阻塞操作误用、背压处理不当和对响应式编程理解不足。通过代码示例展示了如何设置路由和处理器函数。学习和实践Spring WebFlux有助于开发高性能Web应用。
628 8