考研有4门科目,分别是政治(满分100分),英语(满分100分),数学(满分150分)和专业课(满分150分)。某校计算机专业今年录取研究生的要求是:政治、英语每门课成绩不低于60分,数学和专业课不低于90分,总成绩不低于310分。并且规定:在满足单科以及总成绩最低要求的基础上,350分以上(含350分)为公费(Gongfei),310分~349分为自费(Zifei)。
请编程判断考生的录取情况。
N = int(raw_input())
for i in range(N):
a,b,c,d = map(int,raw_input().split())
sums = a+b+c+d
if a>=60 and b>=60 and c>=90 and d>=90 and sums>=310:
if sums<350:
print 'Zifei'
else:
print 'Gongfei'
else:
print 'Fail'
第一行是一个整数T,代表有T组数据。每组数据的开始时一个字符串,字符串长度小于100,每个字符一定是(。
"""
whli##ilr#e(s#*s) -->while(*s)
outcha@putchar(*s=#++) -->putchar(*s++)
returnWA##A!!##C -->returnAC
"""
N = int(raw_input())
for i in range(N):
a = str(raw_input())
res=''
for j in a:
if j=='#':
res=res[:-1]
elif j=='@':
res=''
else:
res =res+j
print res
在游戏里,金币都掉落在0-10这11个位置。开始时帽子刚开始在5这个位置,因此在第一秒,帽子只能接到4,5,6这三个位置中其中一个位置上的金币。问小赛在游戏中最多可能接到多少个金币?
n=map(int,raw_input().split())
b ={}
for i in range(n[0]):
x,T=n[1+2*i],n[2+2*i]
if T not in b.keys():
b[T]=[]
b[T].append(x)
# print b
arr=[[0 for _ in range(11)] for _ in range(n[0])]
for j in range(n[0]):
for k in range(max(0,5-j-1),min(10,5+j+2)):
if j+1 in b.keys() and k in b[j+1]:
if j==0:
arr[j][k]=1
else:
arr[j][k]=1+max(arr[j-1][k-1],arr[j-1][k],arr[j-1][k+1])
else:
if k==0:
arr[j][k] = max(arr[j - 1][k], arr[j - 1][k + 1])
elif k==10:
arr[j][k]= max(arr[j-1][k-1],arr[j-1][k])
else:
arr[j][k] = max(arr[j - 1][k - 1], arr[j - 1][k], arr[j - 1][k + 1])
# print arr
print max(arr[n[0]-1])
"""
输入:5 8 3 9 5 10 3 6 2 5 1
{1: [5], 2: [6], 3: [8, 10], 5: [9]}
[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 2, 2, 2, 1, 0, 0],
[0, 0, 1, 1, 2, 2, 2, 2, 2, 1, 0],
[0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 1]]
3
"""
第一行两个整数n,m,其中n【5】表示小赛家在的楼层,m【10】表示当前电梯停在的楼层,
第二行四个整数,t1,t2,t3,t4【1 5 5 4】其中t1表示电梯每经过一层楼的时间,t2表示开门时间,t3表示关门时间,t4表示小赛每下一层楼的时间。
分析:
1,走下去t4xn
2,原地等电梯,abs(m-n)x1+5+5+nx1+5
n,m = map(int,raw_input().split())
t1,t2,t3,t4=map(int,raw_input().split())
res1 = (n-1)*t4
res2 = abs(m-n)*t1+t2+t3+(n-1)*t1+t2
print(min(res1,res2))
给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”aa”,”bob”,”testset”是回文串,”alice”,”time”都不是回文串。
分析:
去掉两边,找出中间的字符串,然后反转
def dels(a,b):
if a == b:
return True
elif a + a[0] == a[0] + b: # 添加前面一个字符或者添加后面一个字符
return True
elif b[0]+a==b+b[0]: # 这种fft的情况没想到
return True
return False
a = str(raw_input())
i = 0
l = len(a)
while i <(l/2+1) and a[i]==a[l-1-i]:
i+=1
a1 = a[i:l-i]
b1 = a1[::-1]
if dels(a1,b1):
print('Yes')
else:
print('No')
参加活动的总共有n个班级,第i班总共有ai名学生,每辆车最大乘车人数为m,满足m>a1, a2, …, an。乘车时必须按照班级排列顺序进行乘车,不能调整班级顺序进行拼车。为保证同一个班级的学生在同一辆车上,如果当前汽车装完上一个班级后,下一个班级所有同学无法装下,那么当前车开走使用下一辆车。问最少需要多少辆车才能把所有学生运完?
分析:
4 3 # n表示班级数目,m表示汽车最大装载人数。
2 3 2 1
n,m = map(int,raw_input().split())
nlist = map(int,raw_input().split())
res=0
while len(nlist):
i=0
while iand sum(nlist[:i+1])<=m:
i+=1
nlist=nlist[i:]
res+=1
print res