[NOIP2008 提高组] 笨小猴

题目描述

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

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

输入格式

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

输出格式

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

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

样例 #1

样例输入 #1

error

样例输出 #1

Lucky Word
2

样例 #2

样例输入 #2

olympic

样例输出 #2

No Answer
0

提示

【输入输出样例 1 解释】

单词 error 中出现最多的字母 r 出现了 3 次,出现次数最少的字母出现了 1 次,3-1=2,2是质数。

【输入输出样例 2 解释】

单词 olympic 中出现最多的字母 出现了 1 次,出现次数最少的字母出现了 1 次,1-1=0,0 不是质数。

(本处原题面错误已经修正)

noip2008 提高第一题

一道有关于字符串的题目--

这道题我们大致可以分为以下几个步骤:

1.输入一个字符串,并遍历这个字符串,设立Numbers数组(我们暂且可以将Numbes数组初始化为0),存储这个字符串中出现字符的个数.

2.遍历这个数组,并找出这个数组中最小的,并且字符串中出现过的字符的次数的最小值minn和最大值maxn(最小值的判断有一个坑——那就是我们不能仅仅找出数组中的最小值,同时这个最小值必须得>0,

表示这个字符在输入的字符串中出现过)

3.定义一个函数,判断一个整数是否是质数

4.找出最小值和最大值以后,定义diff变量=maxn-minn,判断这个数是否是质数,如果不是质数,第一行输出"No Answer",第二行输出0即可。

如果这个数是质数,则第一行输出"Lucky Word",第二行输出diff这个变量的值就可以了。

具体可以编译运行的代码如下:

#include <iostream>
#include <cmath>
using namespace std;
// 判断一个数是否是质数
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
} return true;
}
int main() {
//输入字符串
string s;
cin >> s;
//利用Numbers数组,来判断这个字符串中出现的字母的次数
int Numbers[26] = { 0 };
for (int i = 0; i < s.size(); i++) {
int n = (s[i] - 'a');
Numbers[n]++;
} int maxn = 0, minn = 110;
for (int i = 0; i < 26; i++) {
if (Numbers[i] > maxn) maxn = Numbers[i];
//在这里一定要注意,不能直接比对Numbers数组中最小的那位,而是Numbers数组中最小的那位,并且它的值不能等于0(即这个字母至少在字符串中出现过一次)
if (Numbers[i] > 0 && Numbers[i] < minn) minn = Numbers[i];
} int diff = maxn - minn;
if (isPrime(diff)) {
cout << "Lucky Word" << endl;
cout << diff;
}
else {
cout << "No Answer" << endl;
cout << 0;
}
return 0;
}

这道题我想告诉大家的是,并不是在遍历数组找最小值的时候,一定只有最小值这个逻辑条件。

比如这道题,不仅要找最小值,并且这个最小值还不能是0,一定要清楚的判断我们的需求,然后根据这个需求来书写判断逻辑

[NOIP2008 提高组] 笨小猴(洛谷题号P1125)的更多相关文章

  1. 土题大战Vol.0 A. 笨小猴 思维好题

    土题大战Vol.0 A. 笨小猴 思维好题 题目描述 驴蛋蛋有 \(2n + 1\) 张 \(4\) 星武器卡片,每张卡片上都有两个数字,第 \(i\) 张卡片上的两个数字分别是 \(A_i\) 与 ...

  2. NOIP2017提高组Day1T3 逛公园 洛谷P3953 Tarjan 强连通缩点 SPFA 动态规划 最短路 拓扑序

    原文链接https://www.cnblogs.com/zhouzhendong/p/9258043.html 题目传送门 - 洛谷P3953 题目传送门 - Vijos P2030 题意 给定一个有 ...

  3. bzoj5000+的洛谷题号

    前言 闲得没事把 bzoj5000+ 在 Luogu 上可找到的题面整理了一下-- 对于我,bzoj 连账号都没有,所以肯定是不清楚 bzoj 题目总数的--因此其实就是手动翻查. 工作量很大,基本不 ...

  4. NOIP 2008 笨小猴

    洛谷 P1125 笨小猴 洛谷传送门 JDOJ 1539: [NOIP2008]笨小猴 T1 JDOJ传送门 Description 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到 ...

  5. noip2008提高组题解

    第一题:笨小猴 模拟   第二题:火柴棒等式 搜索 深搜不用说,确定出两个加数然后判断能否拼出等式. 枚举确实不太好搞,因为枚举范围不确定,太大了容易超时,太小了容易漏解.不过这题的数据貌似很温和,我 ...

  6. [NOIP2008] 提高组 洛谷P1125 笨小猴

    题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最 ...

  7. 洛谷-笨小猴-NOIP2008提高组复赛

    题目描述 Description 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设m ...

  8. 洛谷——P1125 笨小猴

    P1125 笨小猴 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设max ...

  9. 洛谷 P1125 笨小猴

    P1125 笨小猴 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设max ...

  10. 【08NOIP提高组】笨小猴

    笨 小 猴 来自08年NOIP提高组的第一题 1.题目描述 [题目描述] 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头痛.经实验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体 ...

随机推荐

  1. docker使用Open Policy Agent(OPA)进行访问控制

    目录 一.系统环境 二.前言 三.Open Policy Agent 简介 四.Rego 语言简介 五.配置基本环境 六.docker安装OPA插件 6.1 安装docker 6.2 docker安装 ...

  2. 解决 Https 站点请求 Http 接口服务后报 the content must be served over HTTPS 错误的问题

    问题分析 之前将自己所有的 Http 站点全部更新为 Https 站点,但是在请求后台接口服务的时候还是 Http 请求,导致部署之后,直接在控制台报 This request has been bl ...

  3. kettle从入门到精通 第四十七课 ETL之kettle mongo output 写入

    1.上一节课我们学习了mongo input读取步骤,本节课我们一起学习下mongo out 写入步骤,该步骤可以将数据写入到mongo中,如下图所示. 2. 配置mongo连接,有两种方式,如截图所 ...

  4. Redis数据类型有哪些?

    a.String(字符串) b.Hash(hash表) c.List(链表) d.Set(集合) e.SortedSet(有序集合zset)

  5. Redis的特点什么是?

    a.支持多种数据结构,如 string(字符串). list(双向链表).dict(hash表).set(集合).zset(排序set).hyperloglog(基数估算) b.支持持久化操作,可以进 ...

  6. apollo配置json

    #json串原文[{"username":"李小刚","sex":"男"},{"username": ...

  7. NumPy 差分、最小公倍数、最大公约数、三角函数详解

    NumPy 差分 离散差分意味着相邻元素之间的减法. 例如,对于 [1, 2, 3, 4],离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1] 要找到离散差分,使用 diff() 函 ...

  8. c++ win32 纤程

    Win32纤程是一种轻量级的协程机制,它能够在同一个线程中实现多个线程执行的效果,从而提高了程序的并发性和可伸缩性. 在C++中,可以使用Win32 API中的fiber来实现纤程.以下是一个使用纤程 ...

  9. Mybatis.xml文件中 大于小于等于

    Mybatis中 大于小于等于的转义写法第一种写法:符号    转义字符<    <<=    <=>    >>=    >=&    &am ...

  10. jqurey基础知识和常用事件方法

    样式文件不需要<style>标签 引用style文件的方法 <link href="main.css" rel="stylesheet" st ...