1017: 期末成绩
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB
题目描述
又到学期末,小明迎来了又一次的期末考试。虽然每学期都要考试,但是这次期末考试对小明来说意义重大。因为小明爱慕已久的女神说,如果小明这次考了全班前三名就做他女朋友。虽说小明没有十足的信心,但是女神的话不能不听啊。
考完试后,小明拿到了全班的成绩单,这张成绩单是按学号顺序排好的。小明很想知道班里到底有多少人分数比他高,现在就请你帮帮他,帮他数一下到底有多少人的分数比他高吧。
输入
输入数据的第一行是一个正整数T,表示测试数据的组数,接下来有T组测试数据。
每组数据包括两行。
第一行有两个正整数N,K(0<N<1000,0<K<=N),分别表示成绩单上总共的学生数目,和小明的学号。
第二行有N个整数Xi(0<=Xi<=100)分别表示各个学生的成绩,以学号递增顺序给出,第一个学生学号为1。
输出
对于每组数据,请在一行里输出班里一共有多少个学生成绩高于小明。
样例输入 Copy
1
3 2
81 72 63
样例输出 Copy
1
t = int(input())
for i in range(0, t):
m = input().split()
score = input().split()
num = int(m[0])
id = int(m[1])
cnt = 0
for i in range(0, num):
if int(score[i]) > int(score[id - 1]):
cnt += 1
print(cnt)
1018: 奇怪的信
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB
题目描述
有一天, 小明收到一张奇怪的信, 信上要小明计算出给定数各个位上数字为偶数的和。
例如:5548,结果为12,等于 4 + 8 。
小明很苦恼,想请你帮忙解决这个问题。
输入
输入数据有多组。每组占一行,只有一个整整数,保证数字在32位整型范围内。
输出
对于每组输入数据,输出一行,每两组数据之间有一个空行。
样例输入 Copy
415326
3262
样例输出 Copy
12
10
while True:
n = list(str(input()))
cnt = len(n)
sum = 0
for i in range(0, cnt):
num = int(n[i])
if num % 2 == 0:
sum += num
print(sum,'\n')
1019: 石头剪子布
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB
题目描述
现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。
用R代表石头,S代表剪子,P代表布。
输入
输入的第一行是一个整数t(0<t<1000),表示测试样例的数目。
每组输入样例的第一行是一个整数n(0<n<100),表示游戏次数。
接下来n行,每行由两个字母组成,两个字母之间用一个空格分隔,这些字母只会是R,S或P。
第一个字母表示Player1的选择,第二个字母表示Player2的选择。
输出
对于每组输入样例,输出获胜方的名字(Player1或Player2),如果平均,则输出TIE。
样例输入 Copy
3
2
R P
S R
3
P P
R S
S R
1
P R
样例输出 Copy
Player 2
TIE
Player 1
def judge(num, player1, player2):
if player1 == 'R':
if player2 == 'S':
num[0] += 1
elif player2 == 'P':
num[1] += 1
elif player1 == 'S':
if player2 == 'R':
num[1] += 1
elif player2 == 'P':
num[0] += 1
elif player1 == 'P':
if player2 == 'S':
num[1] += 1
elif player2 == 'R':
num[0] += 1
return num
t = int(input()) #test time
for i in range(0, t):
n = int(input()) #game time
num = [0, 0]
for j in range(0, n):
game = input().split()
p1 = game[0]
p2 = game[1]
judge(num, p1, p2)
if num[0] > num[1]:
print('Player 1')
elif num[0] < num[1]:
print('Player 2')
else:
print('TIE')
1021: 恶搞指数
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB
题目描述
小明的朋友过生日,小明准备了一件礼物,不过小明想恶搞一下他的朋友,所以他准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。
用()表示一个盒子,B表示礼物,小明想让你帮他算出恶搞指数,即最少需要拆多少个盒子才能拿到礼物。
输入
输入包含多组测试数据。每组测试数据是一个长度不大于1000,只包含(,)和 B 三种字符的字符串,代表小明设计的礼物透视图。
题目保证每个透视图都是合法的。
输出
对于每组测试,请在一行里面输出恶搞指数。
样例输入 Copy
((((B)()))())
(B)
样例输出 Copy
4
1
while True:
present = list(input())
cnt = len(present)
box = 0
for i in range(0, cnt):
if present[i] == 'B':
break
elif present[i] == '(':
box += 1
else:
box -=1
print(box)
1022: 挂盐水
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB
题目描述
挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下…,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢?
输入
输入数据包含多个测试实例,每个实例占一行,由VUL和D组成,其中 0<D<VUL<5000。
输出
对于每组测试数据,请输出挂完盐水需要的时间,每个实例的输出占一行。
样例输入 Copy
10 1
样例输出 Copy
13
while True:
cnt = 0 #the number of drop
time = 0
v = 0 #the volume of all the drop
num = 0
lst = input().split()
vol = int(lst[0])
d =int(lst[1])
while v < vol:
cnt += 1
num = 1
for i in range(0,cnt):
if v < vol:
v += d
num += 1
else:
break
time += (num - 1)
time += (cnt - 1)
print(time)
1023: 坑爹的黑店
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB
题目描述
今天小明去了一个风景如画的地方散心,但是自己带的饮料喝完了,小明口渴难耐,见不远处有家小商店,于是跑去买饮料。
小明:“我要买饮料!”
店主:“我们这里有三种饮料,矿泉水1.5元一瓶,可乐2元一瓶,橙汁3.5元一瓶。”
小明:“好的,给我一瓶矿泉水。”
说完他掏出一张N元的大钞递给店主。
店主:“我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的,嘿嘿。”
小明:“…”
小明环顾四周,就这一家商店,况且实在太渴了,就决定在这买了。不过小明想,与其把钱当小费送给他还不如自己多买一点饮料,反正早晚都要喝,但是要尽量少让他赚小费。
现在小明希望你能帮他计算一下,最少他要给店主多少小费。
输入
输入数据的第一行是一个整数T(1<=T<=100),代表测试数据的数量。然后是T行测试数据,每个测试数据只包含一个正整数N(1<=N<=10000),N代表小明手中钞票的面值,以分为单位。
注意:商店里只有题中描述的三种饮料。
输出
对于每组测试数据,请你输出小明最少要浪费多少钱给店主作为小费,以分为单位。
样例输入 Copy
2
900
250
样例输出 Copy
0
50
t = int(input())
for i in range(0, t):
m = int(input())
if m > 350:
m %= 50
elif m>=200:
if m % 150 !=0:
m %= 200
else:
m = 0
elif m >= 150:
m %= 150
print(m)