poj入门水题整理6
来源:互联网 发布:g76内螺纹编程实例 编辑:程序博客网 时间:2024/05/21 07:56
1. 2209 The King
描述:有个聪明的国王,他有个缺点,就是数不到3。现在敌军压境,他想要把自己的儿子派出去。他知道他的有些儿子像他一样聪明,有些却愚昧无知。而且他清楚的知道,他儿子们的脑力潜能,从-3到3之间的一个值(因为他只能数到3),他也知道他们取胜的机会和儿子们脑力潜能的幂之和和成比例。现在想要知道最后的战力之和。
输入:第一行是有几个儿子,第二行,幂指数的值,第三行,每个儿子的脑力潜能
输出:打败敌军的最大的可能性,就是幂之和最大值
解法:由于有了幂指数的存在,当为偶数时,负数能变成正数。当为奇数时,负数就不要加上去。
2.2365 Rope
描述:在一个平面上钉钉子,然后用绳子绕起来,绕起来的形状是个凸边形,现在想要计算绳子的长度。
输入:N钉子的个数,R钉子的半径,接下来的N行是钉子所在的xy坐标,钉子的位置按顺时针方向给出,钉子头没有重合。
输出:2位小数,表示的是绳子的长度
解法:由于是个凸边形,且又是顺时针给出的坐标,所以可以两两计算点与点的距离。然后加上钉子的周长就是绳子的长度。
3.1298 The Hardest Problem Ever(中文题见poj3749)
描述:为了保障罗马帝国文件的利益,每个字母都通过右移5位得到加密后的字母。
输入:输入均为大写字母,每个输入为:
以START为第一行
加密后的文件
以END为最后一行
最后以ENDOFINPUT结束输入
输出:加密前的文件
解法:字母题最大的技巧就是输入字母-'A',能得到该字母对于A的一个位移。加密后的数组为,a[26]=[V ,W ,X ,Y...S, T ,U ],那么'A'-A'=0,a[0]='V',得到加密后的字母,遇到空格就直接吐出去。
4.3749 破译密码
同上
3800和3983都是有bug的题。。。
5.3438 Look and Say
描述:122344111 可以描述为1个1,,2个2,1个3,2个4,3个1,这串数字连起来就是1122132431,1111111111就是10个1,也就是101
输入:N代表有几个case,接下来N行就是数字
输出:按照上述规则得到的数字
解法:读入输入,如果这个数字和前一个相同,cnt+=1,如果不一样,那么就输出cnt和前一个数字,cnt=1,最后不要忘记输出最后的数字
6.3589 Number-guessing Game
描述:就是大家以前玩过的猜数游戏,如果正确的数字是5204,而猜的数字是4902,那么0的位置和数字都对,那么就是有1个对了,1A,2和4都是正确的数字,但是在错误的位置上,所以是2B,整个结果就是1A2B
输入:T代表test case的个数,接下来T行就是正确的数字和猜测的数字
输出:正确的和错误的结果之前的差别,用*A*B这样的格式表示
解法:直接对比得出结果即可
7.1552 Doubles
描述:给出2~15个数字,得到这组数字之后,找出有多少组数字有2倍关系,比如1 4 3 2 9 7 18 22,1和2,2和4.9和18都有2倍关系,所以是3
输入:每行有一组数字,个数在2~15个,最大值不超过99,0代表每行结束,-1代表输入结束
输出:有几组2倍关系的数字
解法:
1)直接暴力,这是一种方法。
2)技巧:由于数字很小,最大为99,可以申请个大小为100的数组,先全部置为0,读入输入,然后将该数字对应的数组位置置为1,比如1 4 3 2 9 7 18 22,那么a[1]=1,a[4]=1,a[3]=1...a[22]=1.
然后扫一遍数组a[1]=1,那么看看a[2]是否为1 ,为1 的话加1,时间复杂度就由o(n*n)变为o(n)
8.3751 时间日期格式转换
解法:按格式读入年月日时分,0点单独处理,按格式输出即可
9.2656 Unhappy Jinjin
描述:Jinjin是个中学生,除了每天的课业外,还需要应付妈妈给她的课外作业。如果她每天学习超过8个小时,那么她就不开心,如果不开心的话,那她继续学习就会越来越不开心。你现在需要判断她是否不开心以及哪天最不开心。
输入:N,1<=N<=7,你需要分析的天数。接下来的N行有2个数字,分别代表学校的作业和课外的作业。0代表输入结束
输出:0代表Jinjin没有不开心,如果有不开心的话,输出最不开心的那一天
解法:下面有代码,自己看
10.3518 Prime Gap
描述:两个质数之间的数字就是Prime Gap,给出一个数字k,希望在Prime Gap包含数字k,然后给出这个gap的长度。
输入:数字N,在1~1299709之间
输出:gap的长度
解法:直接暴力,前一个质数<N<后一个质数,输出前后2个质数之差。如果这个数字是质数,则输出0.
也可以试试申请个1300000大小的数组(不知道内存会不会爆),然后像第7题那样做
- poj入门水题整理6
- poj入门水题整理2
- poj入门水题整理3
- poj入门水题整理4
- poj入门水题整理5
- poj入门水题整理7
- poj入门水题整理11
- poj入门水题整理12
- poj入门水题整理13
- poj入门水题整理1--按刷题顺序解释
- poj入门水题9
- poj入门水题10
- POJ推荐题 POJ题 POJ入门
- poj题整理/题目分类
- POJ 2342 树形DP入门水题
- poj 1000 入门题
- poj 2182 入门题
- poj 基础入门题
- 原型模式设计克隆人
- 【数据结构】红黑树
- matlab 画图
- jsvaScript apply和call方法的使用说明
- 证明$r(A^TA) = r(A)$
- poj入门水题整理6
- 如何成为更好的C++程序员?
- 组件编写3-----对象生成组件
- 7.秒杀
- Ubuntu下创建启动Android studio的快捷方式
- spark java程序入门(三)外部程序调用
- BeautifulSoup使用find_all方法乱码问题
- Debian配置Samba出错解决方法
- Adversial network