poj入门水题8

1.2141 Message Decowding

解释:又是字母翻译题,输入的第一行是小写字母代表的是a-z分别代表的是什么字母,第二行是要翻译的话,输出翻译的话的长度和第二行一样。

解法:前面有写过,用数组存储对应字母,然后输出。

tricks:注意大写字母的处理,我处理的方式是:找出大小写之间的关系,都不用转换的

			if(s[i]>='A'&&s[i]<='Z')
			s[i]=a[(s[i]-'A')]-32;

2.2039 TO and From
解释:又是一个翻译题。不同的是形式,是用竖着写的形式去存储信息,然后再把每行信息从左往右再从右往左一行行的拼起来得到
最后的信息。两个人之间会约定用几列来存储信。
解法:自己找出不同行的关系然后读取即可(x用来补齐的,但是这个并不重要)

3.1862 Stripies

解释:两个质量为m1,m2的条纹融合在一起后,并不等于原先两个的质量,而是等于 2*sqrt(m1*m2),想要知道多个条纹融合在一起后,质量下降的最大值

解法:自己可以写下公式,肯定是大的和大的融合质量下降地才最快,所以读入数据后,拍个序然后按解法输出即可。用double类型,最后保留3位小数。


4.3917 Rock, Paper, Scissors

解释:简单的石头剪刀布游戏,Michael 给出2行字符串分别表示2个人每次出什么,然后分别给出每个人赢了几句

解法:很简单的字符比较,满足条件就+1咯


5.3632 Optimal Parking

解释:逛街的时候,Michael 会随机停在一个位置,然后走向自己想要逛的店,你需要做的就是找到一个合适的停车地点,使得Michael 需要走的路程最小。这条路是一条直线,他逛的和他停的地点都是整数。

解法:停在某个要逛的地点,然后一条直线走出去,再沿着原路返回就是Michael 可以走的最短的距离。简而言之,就是排序后,最大的整数-最小的整数的值的2倍。或者读入数字的时候记录下最大值最小值,最后求差。


6.3006 Dirichlet's Theorem on Arithmetic Progressions

解释:Dirichlet理论指的是:一个以a首项,d为公差的等差数列里包含很多个质数,你的任务就是,给出指定的a,d,,求出这个等差数列的第n个质数。

解法:打表暴力法,最多有1000000个数,所以申请这个大小的数组,然后打出1000000 内所有的质数数组。打表方法为:初始化数组均置为0,a[0]=1,a[1]=1.a[2]=0,然后从2开始,每隔2的数字都置为1,从3开始,每隔3的数字都置为1,(这2个数分别是从4,6开始置1的,这2个数还都是质数),就是将每个数的倍数都置为1,剩下的为0的就是没被置1的,也就是不是其他数的倍数,即为质数。完成打表。

最后读入a,d,n,按对应的方法生成数组,求出答案即可。


7.1046 Color Me Less

解释:先给出16个保留的颜色,用保留的颜色替代别的颜色,替代的原则就是2个颜色的欧式距离最小,若2个距离一样小,输出在前面出现的那个。

解法:读入16个颜色,然后依次计算欧式距离,找到距离最小的,输出。


8.2608 Soundex

解释:加密题,不同的字母对应不同的数字。其中A, E, I, O, U, H, W, Y不对应数字,多个重复的字母只代表1个数字。

解法:按照题目描述来解即可。


9.3619 Speed Reading

解释:一群羊进行阅读大赛,羊可以以速度Si连续阅读Ti这么长时间,然后必须休息Ri分钟,问N页的书,每只羊需要读几分钟。

解法:简单数学题,只要注意最后阅读完了并不一定需要休息即可。


10.3077 Rounders

解释:类似于四舍五入,将这个数字四舍五入到最近的十位数/百位数/千位数。。。注意,要从最后一位数开始进一。

解法:可以用char数组来接收这个数,然后处理,会方便些,感觉应该有简单方法。














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值