首页 > 其他分享 >【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)

【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)

时间:2023-11-19 17:07:13浏览次数:41  
标签:输出 洛谷 题解 NOIP2008 单词 样例 Word include 出现

[NOIP2008 提高组] 笨小猴

题目描述

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

这种方法的具体描述如下:假设 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_输入输出 是单词中出现次数最多的字母的出现次数,【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_Word_02 是单词中出现次数最少的字母的出现次数,如果 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_Word_03 是一个质数,那么笨小猴就认为这是个 Lucky Word,这样的单词很可能就是正确的答案。

输入格式

一个单词,其中只可能出现小写字母,并且长度小于 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_Word_04

输出格式

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

第二行是一个整数,如果输入单词是 Lucky Word,输出 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_Word_03 的值,否则输出 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_Word_06

样例 #1

样例输入 #1

error

样例输出 #1

Lucky Word
2

样例 #2

样例输入 #2

olympic

样例输出 #2

No Answer
0

提示

【输入输出样例 1 解释】

单词 error 中出现最多的字母 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_#include_07 出现了 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_Word_08 次,出现次数最少的字母出现了 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_#include_09 次,【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_#include_10【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_输入输出_11 是质数。

【输入输出样例 2 解释】

单词 olympic 中出现最多的字母 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_#include_12 出现了 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_#include_09 次,出现次数最少的字母出现了 【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_#include_09 次,【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_#include_15【洛谷 P1125】[NOIP2008 提高组] 笨小猴 题解(字符串+映射+集合)_Word_06 不是质数。

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

noip2008 提高第一题

思路

用映射统计字符频数,用集合获得最大频数和最小频数。

AC代码

#include <iostream>
#include <map>
#include <set>
#include <cmath>
#include <sstream>
#define AUTHOR "HEX9CF"
using namespace std;

bool pn(int x){
    if(x <= 1){
        return 0;
    }
    for (int i = 3; i < sqrt(x); i++)
    {
        if (!(x % i))
        {
            return 0;
        }
    }
    return 1;
}

int main() {
    string str;
    stringstream ss;
    char ch;
    map<char, int> m;
    set<int> s;
    cin >> str;
    ss << str;
    while(ss >> ch){
        m[ch]++;
    }
    for(map<char,int>::iterator it = m.begin(); it != m.end();it++){
        s.insert(it->second);
    }
    int t = *s.rbegin() - *s.begin();
    // cout << t << endl;
    if(pn(t)){
        cout << "Lucky Word" << endl << t << endl;
    }else{
        cout << "No Answer" << endl << 0 << endl;
    }
    return 0;
}

标签:输出,洛谷,题解,NOIP2008,单词,样例,Word,include,出现
From: https://blog.51cto.com/HEX9CF/8473447

相关文章

  • [ABC326C] Peak 题解
    题目链接题目思路这个问题要求找到一个半开区间,使得在这个区间内包含尽可能多的礼物。首先,我们需要将输入的礼物坐标按照从小到大的顺序进行排序。然后,我们可以使用双指针的方法来寻找最佳的区间。代码以下是代码解释:#include<bits/stdc++.h>usingnamespacestd;constint......
  • [ABC328C] Consecutive 题解
    HelloWorld链接这道题是一个很明显的前缀和,我们把$sum_i$表示为前$i$个字符有多少个有重复,查询的时候就用$sum_{r-1}-sum_{l-1}$就行了。代码#include<bits/stdc++.h>usingnamespacestd;strings;intsum[300010];intmain(){ intn,q; cin>>n>>q>>s; for(in......
  • CF222A Shooshuns and Sequence 题解
    分析这题是一个很水的题,就是对一个序列有$2$种操作方法,一种是对第$K$个数以前的数的第一个进行删除,另一个则是在整个序列后添加这第$K$个数,使得整个序列为同一个数字,显然,后者是无效操作,则只需要判断第$K$个数以后有无与第$K$个不同的数,有则无解,反之有解。若有解,然后再......
  • 洛谷B2017 打印 ASCII 码(Python3)
    要点:1.Python的input()默认要换行,而在输入的时候即使只输了一个字符,也会被判定为输入两个字符。故此处要么只取字符串的第一位,要么在输入时用.strip()来删去首位字符,strip的介绍在这里2.Python中不能用强制类型转换来得到ASCII码,需要用到ord()函数。ord():括号内的字符的ASCI......
  • 洛谷B2016 浮点数向零舍入(Python3)
    要点:1.有正有负怎么办?正负分开写?如果只看数字部分,那取整的方式是一样的。所以我们可以先输出符号,把问题全都转化到非负数集中。2.如何取整?此处取整为向下取整。而强制类型转换把浮点数转化为整型数的时候是把小数部分全部去掉,而不是四舍五入,与题中取整方式相符,故可直......
  • CF601B Lipshitz Sequence 题解
    给你一个序列\(v_{1\dotsn}\),定义\(f(v)\)为\(v\)中斜率最大值(\(\lvertv\rvert=1\)则\(f(v)=0\)),有\(q\)组询问,每次给定\(1\lel\ltr\len\),求\(a_{l\dotsr}\)的每个子区间的\(f\)之和。一个关键的性质是,最大的斜率只在相邻数间取到。有了这个性质,这题......
  • NEFU OJ Problem 1489 青蛙赶路 题解【动态规划DP】
    Problem:GTimeLimit:2000msMemoryLimit:65535KDescription有一只青蛙,每秒选择走1米或跳m米,青蛙体力不足,所以不能连续两秒都在跳。青蛙将移动到[l,r]之间,它想知道有多少种不同的方式来实现其目标。两种方式是不同的,当且仅当它们移动不同的米或花费不同的秒,或者是在一秒......
  • NEFU OJ Problem1485 贪吃蛇大作战 题解
    Problem:FTimeLimit:1000msMemoryLimit:65535K题目Description贪吃蛇大家一定都玩过吧,现在宋哥也要玩这个游戏,最初的时候贪吃蛇从屏幕的左下角出发,但是有一个非常不幸的事情,就是宋哥的游戏机的左键和下键坏掉了,这意味着什么?没错!他只能操控他的蛇向右或向上走了,假设屏幕......
  • ICPC2023深圳部分题解(A,D,E,F,G,K,L)
    目录正题A一道好题题目大意解题思路D机器人兄弟题目大意解题思路E二合一题目大意解题思路F见面礼题目大意解题思路G相似基因序列问题题目大意解题思路K四国军棋题目大意解题思路LMary有颗有根树题目大意解题思路正题好像还没上gym所以放不了题目链接,深圳这场的题目我觉......
  • ctf.show 信息泄露部分题解
    源码泄露根据题目可以知道这个是源码泄露,所以是看源代码,查看源代码的三种方式:CTRL+U,F12,右键选择查看源代码,flag就在源代码内前台JS绕过启动靶场后给出的提示是无法查看源代码,右键和F12都无法使用,题目是前台JS绕过,所以我们进入浏览器的设置界面,搜索javascript找到后把他禁用,然后再返......