试题名称: | 卖菜 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 在一条街上有n个卖菜的商店,按1至n的顺序排成一排,这些商店都卖一种蔬菜。 输入格式 输入的第一行包含一个整数n,表示商店的数量。 输出格式 输出一行,包含n个正整数,依次表示每个商店第二天的菜价。 样例输入 8 样例输出 2 2 1 3 4 9 10 13 数据规模和约定 对于所有评测用例,2 ≤ n ≤ 1000,第一天每个商店的菜价为不超过10000的正整数。 |
while True:
try:
n = int(input())
m = [0 for i in range(1005)]
s = [0 for i in range(1005)]
m[1:] = map(int,input().split())
for i in range(1,n+1):
if i==1:
s[i] = (m[i]+m[i+1])//2
print(s[i],end = " ")
elif i==n:
s[i] = (m[i]+m[i-1])//2
print(s[i])
else:
s[i] = (m[i]+m[i-1]+m[i+1])//3
print(s[i],end = " ")
except:
break
试题名称: | 跳一跳 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。 输入格式 输入包含多个数字,用空格分隔,每个数字都是1,2,0之一,1表示此次跳跃跳到了方块上但是没有跳到中心,2表示此次跳跃跳到了方块上并且跳到了方块中心,0表示此次跳跃没有跳到方块上(此时游戏结束)。 输出格式 输出一个整数,为本局游戏的得分(在本题的规则下)。 样例输入 1 1 2 2 2 1 1 2 2 0 样例输出 22 数据规模和约定 对于所有评测用例,输入的数字不超过30个,保证0正好出现一次且为最后一个数字。 |
while True:
try:
sum=0
tmp=0
i=0
a = [0 for i in range(500)]
a[0:] = map(int,input().split())
#print(a)
while a[i]!=0:
if a[i]==0:
break
elif sum==0:
if a[i]==2:
tmp=2
else:
tmp=1
sum+=tmp
elif a[i]==2:
if tmp==1:
tmp=2
sum+=tmp
else:
tmp+=2
sum+=tmp
elif a[i]==1:
tmp=1
sum+=tmp
i+=1
print(sum)
except:
break
试题名称: | 数列分段 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段? 输入格式 输入的第一行包含一个整数n,表示数列中整数的个数。 输出格式 输出一个整数,表示给定的数列有多个段。 样例输入 8 样例输出 5 样例说明 8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。 评测用例规模与约定 1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。 |
while True:
try:
sum=1
i=1
a = [0 for i in range(1005)]
n = int(input())
a[0:] = map(int,input().split())
tmp = a[0]
while i<n:
if a[i]!=tmp:
tmp=a[i]
sum+=1
i+=1
print(sum)
except:
break
试题名称: | 折点计数 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。 输入格式 输入的第一行包含一个整数n。 输出格式 输出一个整数,表示折点出现的数量。 样例输入 7 样例输出 2 评测用例规模与约定 所有评测用例满足:1 ≤ n ≤ 1000,每天的销售量是不超过10000的非负整数。 |
while True:
try:
sum=0
i=2
a = [0 for i in range(1005)]
n = int(input())
a[0:] = map(int,input().split())
if n==1:
print(0)
continue
tmp = a[0]
flag=0
if a[1]>a[0]:
flag=1
else:
flag=2
while i<n:
if flag==1 and a[i]<a[i-1]:
sum+=1
flag=2
elif flag==2 and a[i]>a[i-1]:
sum+=1
flag=1
i+=1
print(sum)
except:
break
试题名称: | 小明上学 |
时间限制: | 1.0s |
内存限制: | 512.0MB |
问题描述: | 题目背景 小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。 问题描述 一次上学的路上,小明记录下了经过每段路的时间,和各个红绿灯在小明到达路口时的颜色和倒计时秒数。希望你帮忙计算此次小明上学所用的时间。 输入格式 输入的第一行包含空格分隔的三个正整数 r、y、g,表示红绿灯的设置。这三个数均不超过 106。 输出格式 输出一个数字,表示此次小明上学所用的时间。 样例输入 30 3 30 样例输出 70 样例说明 小明先经过第一段道路,用时 10 秒,然后等待 5 秒的红灯,再经过第二段道路,用时 11 秒,然后等待 2 秒的黄灯和 30 秒的红灯,再经过第三段、第四段道路,分别用时6、3秒,然后通过绿灯,再经过最后一段道路,用时 3 秒。共计 10 + 5 + 11 + 2 + 30 + 6 + 3 + 3=70 秒。 评测用例规模与约定 测试点 1, 2 中不存在任何信号灯。 |
while True:
try:
sum=0
deng=[]
r,y,g=map(int,input().split())
n= int(input())
for i in range(n):
k,t=map(int,input().split())
deng.append([k,t])
for i in range(n):
if deng[i][0]==0:
sum+=deng[i][1]
elif deng[i][0]==1:
sum+=deng[i][1]
elif deng[i][0]==2:
sum+=deng[i][1]+r
print(sum)
except:
break