首页 > 编程语言 >NOI / 1.9编程基础之顺序查找

NOI / 1.9编程基础之顺序查找

时间:2023-06-11 17:56:30浏览次数:31  
标签:Word NOI minn 编程 样例 Lucky 1.9 单词 maxn

06:笨小猴

描述

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

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

输入

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

输出

共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;
第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。

样例输入

样例 #1:
error

样例 #2:
olympic

样例输出

样例 #1:
Lucky Word
2

样例 #2:
No Answer
0

题意

判断是否是Lucky Word

思路

判断maxn是否是单词中出现次数最多的字母,minn是否是单词中出现次数最少的字母,在判断maxn-minn是否是一个质数

代码实现

#include<cstdio>
#include<cstring>
char s[200],ch[100]={0};
int main(){
    scanf("%s",s);
    int len=strlen(s);
    int maxn=-1,minn=500;
    for (int i=0;i<=len-1;i++){
        int t=s[i]-96;
        ch[t]++;
       }//maxn是否是单词中出现次数最多的字母
    for (int i=1;i<=26;i++){
        if (ch[i]>maxn) maxn=ch[i];
        if (ch[i]!=0&&ch[i]<minn) minn=ch[i];
    }//minn是否是单词中出现次数最少的字母
    int i,n=maxn-minn;
    if (n>=2){
        for (i=2;i<=n-1&&n%i!=0;i++);//maxn-minn
        if (n==2||i==n) printf("Lucky Word\n%d\n",n); //maxn-minn是一个质数,Lucky Word
        else printf("No Answer\n0\n");//maxn-minn不是一个质数, 输出“No Answer”      
    }  
    else printf("No Answer\n0\n");
    return 0;
}

 

标签:Word,NOI,minn,编程,样例,Lucky,1.9,单词,maxn
From: https://www.cnblogs.com/shi66/p/17473281.html

相关文章

  • 面向切面编程AOP之深入了解
    1. 先导  103IoC使软件组件松耦合。AOP让你能够捕捉系统中经常使用的功能,把它转化成组件。AOP(Aspect Oriented Programming):面向切面编程,面向方面编程。(AOP是一种编程技术)AOP是对OOP的补充延伸。AOP底层使用的就是动态代理来实现的。Spring的AOP使用的动态代理是:JDK动态代理 +......
  • Java 网络编程 —— 基于 UDP 的数据报和套接字
    UDP简介UDP(UserDatagramProtocol,用户数据报协议)是传输层的另一种协议,比TCP具有更快的传输速度,但是不可靠。UDP发送的数据单元被称为UDP数据报,当网络传输UDP数据报时,无法保证数据报一定到达目的地,也无法保证各个数据报按发送的顺序到达目的地,例如:当发送方先发送包含字符......
  • 实验6 turtle绘图与python库应用编程体验
    task1_1代码:fromturtleimport*defmove(x,y):'''画笔移动到坐标(x,y)处'''penup()goto(x,y)pendown()defdraw(n,size=100):'''绘制边长为size的正n变形'''foriinrange(n):......
  • 实验6 turtle绘图与python库应用编程体验
    实验任务1task1_1.py程序源码:1fromturtleimport*23defmove(x,y):#画笔移动到坐标(x,y)处4penup()5goto(x,y)6pendown()78defdraw(n,size=100):#绘制边长为size的正n变形9foriinrange(n):10forward(size)11......
  • 实验六 turtle绘图与python库应用编程体验
    1fromturtleimport*234defmove(x,y):5penup()6goto(x,y)7pendown()8910defdraw(n,size=100):11foriinrange(n):12fd(size)13left(360/n)141516defmain():17pensize(2)18pen......
  • 实验6 turtle绘图与python库应用编程体验
    task1_11fromturtleimport*234defmove(x,y):5penup()6goto(x,y)7pendown()8910defdraw(n,size=100):11foriinrange(n):12fd(size)13left(360/n)141516defmain():17pensize(2)18......
  • Linux命令行与shell脚本编程大全学习笔记
    理解Linux文件权限执行ls-l命令获取当前目录下所有文件、目录和设备的权限。显示的列表字段分别为:文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);文件的权限;文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名。输出......
  • 实验七 面向对象编程与内置模块
    实验一classAccount:#一个模拟银行账户的简单类def__init__(self,name,account_number,initial_amount=10):self._name=nameself._card_no=account_numberself._balance=initial_amountdefdeposit(self,amount):......
  • 线程同步与异步套接字编程
    事件对象时间对象也属于内核对象,包含一个使用计数,一个用于指明该事件是一个自动重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是为通知状态的布尔值有两种不同类型的事件对象。一种是人工重置的事件,另一种是自动重置的事件,当人工重置的事件得到......
  • 【Linux的高级应用编程】TCP/IP网络编程函数解析
    TCP/IP网络编程函数解析 Sailor_forever socket(建立一个socket通信)相关函数accept,bind,connect,listen表头文件#include<sys/types.h>#include<sys/socket.h>定义函数intsocket(intdomain,inttype,intprotocol);函数说明socket()用来建立一个新的socket,也就是向系统注......