欢迎大家来到IT世界,在知识的湖畔探索吧!
代码具体查看github:https://github.com/hoperong/codeforce_problem
所涉及的题目:
580A、479A、148A、136A、486A、617A、208A、318A、451A、469A
580A:
题目:
寻找最长的不减少序列有多长
思路:
依题意,按顺序查看计算就好了
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = input()
input_l = input().split(‘ ‘)
before = 0
max_mount = 1
now_mount = 0
for l in input_l:
if int(l) >= before:
now_mount += 1
max_mount = max(now_mount, max_mount)
else:
now_mount = 1
before = int(l)
print(max_mount)
479A:
题目:
公主梦中打恐龙,每k条挂掉一只,每k条挂掉一只,每l条挂掉一只,每m条挂掉一只,每n条挂掉一只,请问来了n条,能活着活去几条?
思路:
其实就是计算下n个数种,有多少个不能呗k、l、m、n整除的数字
代码:
#!/usr/bin/env python
# coding=utf-8
k = int(input())
l = int(input())
m = int(input())
n = int(input())
d = int(input())
mount = 0
for i in range(1, d + 1):
if i % k != 0 and i % l != 0 and i % m != 0 and i % n != 0:
mount += 1
print(d – mount)
148A:
题目:
题目有点绕,简单来说就是,主人公记得谁送谁礼物,也就是第二行的第i个数为n,意味着i送给了n礼物。现在要求,谁收到谁送的礼物,也就是最后答案输出的,第i个数为n,意味着n收到了i送的礼物。
思路:
就是把第二行的l[i]=p改成k[p]=i就好了
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = input()
input_l = input().split(‘ ‘)
list_l = [0] * len(input_l)
for (index, l) in enumerate(input_l):
list_l[int(l) – 1] = index + 1
s = ”
for l in list_l:
s += ‘{} ‘.format(l)
print(s.strip())
136A:
题目:
f(n) = - 1 + 2 - 3 + .. + ( - 1)nn
思路:
规律题,-1+2=1,-3+4=1。n为偶数,则f(n)=n/2,n为奇数,则f(n)=(n-1)/2-n
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = int(input())
if input_s % 2 > 0:
print(int(-(input_s // 2 + 1)))
else:
print(int(input_s / 2))
486A:
题目:
f(n) = - 1 + 2 - 3 + .. + ( - 1)nn
思路:
规律题,-1+2=1,-3+4=1。n为偶数,则f(n)=n/2,n为奇数,则f(n)=(n-1)/2-n
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = int(input())
if input_s % 2 > 0:
print(int(-(input_s // 2 + 1)))
else:
print(int(input_s / 2))
617A:
题目:
大象走路,一步两步三步四步,望着天,看星星,一颗两颗三颗四颗,连成线。。。跑题了。。。大象一步只能走1-5米的距离,请问n米远,大象需要走几步。
思路:
5米一步,不足5米还是一步。
代码:
#/usr/bin/env python
# coding=utf-8
input_s = int(input())
mount = input_s // 5
if input_s % 5 > 0:
print(mount + 1)
else:
print(mount)
208A:
题目:
由于DJ的remix会导致歌词混乱,会在每个词中间添加若干个“WUB”,寻找出原来的歌词。
思路:
替换“WUB”为空格,然后头尾去空格。(哈哈,高级语言的方便之处,啪啪啪,一行敲过,水题,就不自己去敲replace、strip功能了)
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = input()
print(input_s.replace(‘WUB’, ‘ ‘).strip())
318A:
题目:
重新排序数字,先排奇数,从小到大,再排偶数,从小到大。问第几位是哪个数字?
思路:
由于给定数字范围很大,不能通过模拟排序来解答。用数学方式直接计算。计算出a个奇数。如果小于等于a则落在奇数区,则是数字为*2-1。如果大于a则落在偶数区,则数字应该是去掉前面a个,然后*2。
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = input().split(‘ ‘)
a = int(input_s[0])
b = int(input_s[1])
half_a = a // 2 + a % 2
if b <= half_a:
print(b * 2 – 1)
else:
print((b – half_a) * 2)
451A:
题目:
木棍像“井”那样子摆放,横横竖竖。每次只能拿走交叉的一根横一根竖的木棍。没有交叉可以拿则算输。算出谁赢谁输。
思路:
找规律,最小的那个数决定结果。奇数,先手赢。偶数,后手赢。
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = input().split(‘ ‘)
a = int(input_s[0])
b = int(input_s[1])
c = min(a, b)
if c % 2 == 1:
print(‘Akshat’)
else:
print(‘Malvika’)
469A:
题目:
两小孩一起玩游戏,每个人都能通过一些关卡。那么两个人一起玩能否通关?
思路:
老样子,依题意撸代码,洒洒水啦。(python,set特性,直接去重)
代码:
#!/usr/bin/env python
# coding=utf-8
input_s = int(input())
input_p = input().split(‘ ‘)[1:]
input_q = input().split(‘ ‘)[1:]
a = []
for i in input_p:
a.append(i)
for i in input_q:
a.append(i)
b = list(set(a))
if len(b) == input_s:
print(‘I become the guy.’)
else:
print(‘Oh, my keyboard!’)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35717.html