文章目录
一、第一题
1.1 2021年
202109-1数组推导
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-04 9:28
@Author : oax_knud
@File :202109-1数组推导.py
@IDE :PyCharm
"""
import math
num=int(input())
B=[]
B = list(map(int, input().split()))
sum_max=sum(B)
sum_min=B[0]
min=min(B)
flag=1
for i in range(num):
if i==num-1:
break
if i==0 and B[i+1]==B[i]:
flag=0
sum_min=sum_min+0
elif i!=num-1 and B[i+1]==B[i]:
flag=0
elif B[i+1]!=B[i]:
sum_min=sum_min+B[i+1]
print(sum_max)
if flag==0:
print(sum_min)
elif flag==1:
print(sum_max)
202104-1灰色直方图
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-04 12:07
@Author : oax_knud
@File :202104-1灰色直方图.py
@IDE :PyCharm
"""
constraint=list(map(int,input().split()))
ans_list=[0 for i in range(constraint[2])]
for i in range(constraint[0]):
row=[]
row=list(map(int,input().split()))
for k in range(constraint[1]):
ans_list[row[k]]=ans_list[row[k]]+1
for i in range(constraint[2]):
print(ans_list[i],end=" ")
1.2 2020年
202012-1期末预测之安全指数
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-04 16:46
@Author : oax_knud
@File :202012-1期末预测之安全指数.py
@IDE :PyCharm
"""
n=int(input())
score=[]
ws=[]
for i in range(n):
row=list(map(int,input().split()))
ws.append(row)
score.append(row[0]*row[1])
print(max(sum(score),0))
202009-1称检测点查询
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 9:05
@Author : oax_knud
@File :202009-1称检测点查询.py
@IDE :PyCharm
"""
import math
n,X,Y=list(map(int,input().split()))#限制条件
distance=[]
for i in range(n):
x,y=list(map(int,input().split()))
temp_dis=math.sqrt((x-X)*(x-X)+(y-Y)*(y-Y))
group=[]
group.append((i+1))
group.append(temp_dis)
distance.append(group)
new_dis=sorted(distance,key=(lambda x:x[1]),reverse=False)
print(new_dis[0][0])
print(new_dis[1][0])
print(new_dis[2][0])
202006-1线性分类器
n,m=map(int,input().split())
x=[]
y=[]
label=[]
for i in range(n):
a,b,c=input().split()
x.append(int(a))
y.append(int(b))
label.append(c)
for i in range(m):
a,b,c=map(int, input().split())
A_class=[]
B_class=[]
for j in range(n):
if a+x[j]*b+y[j]*c<0:
A_class.append(label[j])
elif a+x[j]*b+y[j]*c>0:
B_class.append(label[j])
if len(list(set(A_class)))==1 and len(list(set(B_class)))==1:
print('Yes')
else:
print('No')
1.3 2019年
201912-1报数
n=int(input())
count=0
jump=[0 for i in range(4)]
# name=["甲","乙","丙","丁"]
jump_index=0
jump_num=[]
for i in range(1,10000):
if count==n:
break
if i%7==0 or i%10==7 or (i // 10)%10==7 or (i//100)==7:#跳
jump[jump_index]+=1
# print(name[jump_index],"跳了",i)
jump_index=(jump_index+1)%4
jump_num.append(i)
continue
# print(name[jump_index], "读了", i)
count+=1
jump_index=(jump_index+1)%4
for i in range(len(jump)):
print(jump[i])
201909-1小明种苹果
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 19:40
@Author : oax_knud
@File :201909-1小明种苹果.py
@IDE :PyCharm
"""
N,M=list(map(int,input().split()))
apple_tree=[]
for i in range(N):
row=list(map(int,input().split()))
apple_tree.append(row)
max_apple=[]
sum_apple=0
for i in range(N):
temp_apple=0
for j in range(1,M+1):
temp_apple+=abs(apple_tree[i][j])
#temp_apple=abs(apple_tree[i][1]+apple_tree[i][2]+apple_tree[i][3])
max_apple.append(temp_apple)
sum_apple+=apple_tree[i][0]
sum_apple=sum_apple-sum(max_apple)
index_max=max_apple.index(max(max_apple))+1
print(sum_apple,index_max,max(max_apple))
201903-1小中大
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 19:29
@Author : oax_knud
@File :201903-1小中大.py
@IDE :PyCharm
"""
import math
n=int(input())
row=list(map(int,input().split()))
ans=[]
ans.append(max(row))
ans.append(min(row))
row.sort()
if n%2==0:
num=round((row[len(row)//2]+row[len(row)//2-1])/2,1)
if math.modf(num)[0]==0:
num=int(num)
ans.append(num)
elif n%2==1:
ans.append(row[len(row)//2])
ans.sort(reverse=True)
for i in range(len(ans)):
print(ans[i],end=" ")
1.4 2018年
201812-1小明上学
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 19:22
@Author : oax_knud
@File :201812-1小明上学.py
@IDE :PyCharm
"""
r,y,g=list(map(int,input().split()))
n=int(input())
time=0
for i in range(n):
row=list(map(int,input().split()))
if row[0]==0 or row[0]==1:
time+=row[1]
elif row[0]==2:
time+=(row[1]+r)
elif row[0]==3:
continue
print(time)
201809-1卖菜
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 19:16
@Author : oax_knud
@File :201809-1卖菜.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
ans=[]
for i in range(n):
if i==0:
ans.append(int((row[i]+row[i+1])/2))
elif i==n-1:
ans.append(int((row[i]+row[i-1])/2))
else:
ans.append(int((row[i]+row[i+1]+row[i-1])/3))
for i in range(n):
print(ans[i],end=" ")
201803-1跳一跳
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 19:08
@Author : oax_knud
@File :201803-1跳一跳.py
@IDE :PyCharm
"""
row=list(map(int,input().split()))
length=len(row)
score=0
temp_two=2
for i in range(length-1):
if row[i]==1:
score+=1
temp_two=2
elif row[i]==2:
if i==0 or row[i-1]==1:
score+=temp_two
elif row[i-1]==2:
temp_two+=2
score+=temp_two
print(score)
1.5 2017年
201712-1最小差值
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 19:03
@Author : oax_knud
@File :201712-1最小差值.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
row.sort()
ans=[]
for i in range(1,n):
temp=row[i]-row[i-1]
ans.append(temp)
print(min(ans))
201709-1打酱油
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 18:58
@Author : oax_knud
@File :201709-1打酱油.py
@IDE :PyCharm
"""
n=int(input())
count=0
while n>0:
if n>=50:
n-=50
count+=7
elif n>=30:
n-=30
count+=4
else:
count+=(n//10)
n=0
print(count)
201703-1分蛋糕
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 18:31
@Author : oax_knud
@File :201703-1分蛋糕.py
@IDE :PyCharm
"""
n,k=list(map(int,input().split()))
row=list(map(int,input().split()))
count=0
index=0
temp_sum=0
for i in range(n):
temp_sum=sum(row[index:i+1])
# ans.append(temp_sum)
if temp_sum>=k:
count+=1
index=i+1
else:
continue
if temp_sum<k:
count+=1
print(count)
1.6 2016年
201604-1折点计数
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 17:54
@Author : oax_knud
@File :201604-1折点计数.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
count=0
for i in range(1,n-1):
if row[i]<row[i+1] and row[i]<row[i-1]:
count+=1
elif row[i]>row[i+1] and row[i]>row[i-1]:
count+=1
print(count)
201609-1最大波动
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 17:58
@Author : oax_knud
@File :201609-1最大波动.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
abs_row=[]
for i in range(n-1):
abs_row.append(abs(row[i]-row[i+1]))
print(max(abs_row))
201612-1中间数
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 18:01
@Author : oax_knud
@File :201612-1中间数.py
@IDE :PyCharm
"""
def cal_min_max(num,row):
min_number=0
for i in range(len(row)):
if row[i]<num:
min_number+=1
max_number=len(row)-min_number-row.count(num)
if max_number==min_number:
return num
return -1
n=int(input())
row=list(map(int,input().split()))
row.sort()
flag=0
if cal_min_max(row[0],row)==row[0]:
print(row[0])
flag=1
for i in range(1,n):
if row[i]==row[i-1]:
continue
elif row[i]!=row[i-1]:
if cal_min_max(row[i],row)==row[i]:
print(row[i])
flag=1
break
if flag==0:
print("-1")
1.7 2015年
201512-1数位之和
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 17:52
@Author : oax_knud
@File :201512-1数位之和.py
@IDE :PyCharm
"""
row=list(map(int,input()))
print(sum(row))
201509-1数列分段
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 17:49
@Author : oax_knud
@File :201509-1数列分段.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
count=1
for i in range(n-1):
if row[i]!=row[i+1]:
count+=1
elif row[i]==row[i+1]:
continue
print(count)
201503-1图像旋转
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 16:53
@Author : oax_knud
@File :201503-1图像旋转.py
@IDE :PyCharm
"""
n,m=list(map(int,input().split()))
img=[]
for i in range(n):
row=list(map(int,input().split()))
img.append(row)
for i in range(m):
for j in range(n):
print(img[j][m-i-1],end=" ")
print("")
1.8 2014年
201412-1门禁系统
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 16:49
@Author : oax_knud
@File :201412-1门禁系统.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
num=[[i,0] for i in range(n+1)]
for i in range(n):
id=row[i]
num[id][1]+=1
print(num[id][1],end=" ")
201409-1相邻数对
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 16:42
@Author : oax_knud
@File :201409-1相邻数对.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
count=0
row.sort()
for i in range(n-1):
if row[i+1]-row[i]==1:
count+=1
print(count)
201403-1相反数
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 16:37
@Author : oax_knud
@File :201403-1相反数.py
@IDE :PyCharm
"""
N=int(input())
row=list(map(int,input().split()))
count=0
for i in range(N):
if row[i]==0:
continue
for j in range(N-i):
if row[i]+row[j+i]==0:
count+=1
row[j+i]=0
break
print(count)
1.9 2013年
201312-1出现次数最多的数
# -*- coding: utf-8 -*-
"""
@Time : 2021-10-13 16:12
@Author : oax_knud
@File :201312-1出现次数最多的数.py
@IDE :PyCharm
"""
n=int(input())
row=list(map(int,input().split()))
num=[[i,0] for i in range(1,10001)]
for i in range(n):
temp_num=row[i]
num[temp_num-1][1]+=1
# print(num[temp_num-1])
# print(num)
ans=sorted(num,key=(lambda x:x[1]),reverse=True)
print(ans[0][0])
第二题
2.1 2021年
2.2 2020年
202006-2稀疏向量
if __name__=="__main__":
n,a,b=list(map(int,input().split()))
sum=0
vec={}
for i in range(a):
index,value=list(map(int,input().split()))
vec[index]=value
for i in range(b):
index,value=list(map(int,input().split()))
if index in vec:
sum+=value*vec[index]
print(sum)
202009-2风险人群筛查
n,k,t,xl,yd,xr,yu=list(map(int,input().split()))
stop_num,walk_num=0,0
for i in range(n):
row=list(map(int,input().split()))
count,stop,walk=0,0,0
for j in range(t):
temp_x=row[2*j]
temp_y=row[2*j+1]
if temp_x<=xr and temp_x>=xl and temp_y<=yu and temp_y>=yd:
stop=1
count+=1
if count==k:
walk=1
else:
count=0
if stop==1:
stop_num+=1
if walk==1:
walk_num+=1
print(stop_num)
print(walk_num)
2.3 2019年
201903-2二十四点
n=int(input())
for i in range(n):
s=input()
s=s.replace('x','*')
s=s.replace('/','//')
s=eval(s)
if s==24:
print('Yes')
else:
print('No')
201909-2小明种苹果(续)
def cal_sum(row):
temp=row[1:]
start=temp[0]
for i in range(1,row[0]):
if temp[i]>0:
start=temp[i]
elif temp[i]<=0:
start+=temp[i]
return start
def judge_drop(row):
temp=row[1:]
start=temp[0]
for i in range(1,row[0]):
if temp[i]>0:
if start>temp[i]:
return 1#掉落
elif temp[i]<=0:
start+=temp[i]
return 0#没有掉落
def cal_group(circle):
n=len(circle)
e=0
for i in range(1, n - 1):
if circle[i - 1] == circle[i] == circle[i + 1] == 1:
e += 1
if circle[0] == circle[1] == circle[-1] == 1:
e += 1
if circle[0] == circle[-2] == circle[-1] == 1:
e +=1
return e
if __name__=="__main__":
n=int(input())
sum_tree=0
drop_num=0
flag=[]
for i in range(n):
row=list(map(int,input().split()))
sum_tree=sum_tree+cal_sum(row)
flag.append(judge_drop(row))
print(sum_tree,end=" ")
print(sum(flag),end=" ")
ans=cal_group(flag)
print(ans)
201912-2回收站选址
def cal_score(row,rabbish):
score=0
move_x=[1,1,-1,-1]
move_y=[-1,1,-1,1]
x=row[0]
y=row[1]
for i in range(4):
temp_x=x+move_x[i]
temp_y=y+move_y[i]
if [temp_x,temp_y] in rabbish:
score+=1
return score
if __name__=="__main__":
n=int(input())
rabbish=[]
for i in range(n):
row=list(map(int,input().split()))
rabbish.append(row)
position=[]
for i in range(n):
temp_row=rabbish[i]
x=temp_row[0]
y=temp_row[1]
if [x,y+1] in rabbish and [x,y-1] in rabbish and [x+1,y] in rabbish and [x-1,y] in rabbish:
position.append(temp_row)
score_list=[0 for i in range(5)]
for i in range(len(position)):
index_score=cal_score(position[i],rabbish)
score_list[index_score]+=1
for i in range(len(score_list)):
print(score_list[i])
2.4 2018年(缺两个)
201803-2碰撞的小球
def move(ball_pos,j,flag,index):
if j!=0 and ball_pos[j][1]==ball_pos[j-1][1]:
index[j]=(index[j]+1)%2
index[j-1]=(index[j-1]+1)%2
ball_pos[j][1] = ball_pos[j][1] + flag[index[j]]
elif j!=len(ball_pos)-1 and ball_pos[j][1]==ball_pos[j+1][1]:
index[j]=(index[j]+1)%2
index[j+1]=(index[j+1]+1)%2
ball_pos[j][1] = ball_pos[j][1] + flag[index[j]]
elif ball_pos[j][1]<L and ball_pos[j][1]>0:
ball_pos[j][1] = ball_pos[j][1] + flag[index[j]]
elif ball_pos[j][1]==0 or ball_pos[j][1]==L:
index[j]=(index[j]+1)%2
ball_pos[j][1] = ball_pos[j][1] + flag[index[j]]
# print("位置:",ball_pos[j],",方向:",index[j])
return ball_pos,index
if __name__=="__main__":
n,L,t=list(map(int,input().split()))
ball_position=list(map(int,input().split()))#球地址
new_ball_pos=[]
#初始化小球位置和索引
for i in range(n):
new_ball_pos.append([i,ball_position[i]])
new_ball_pos=sorted(new_ball_pos,key=(lambda x:x[1]),reverse=False)
index=[0 for i in range(n)]#方向
flag = [1, -1]#方向
for i in range(t):
# print("**************************************")
for j in range(n):
# print("第",i+1,"秒,第", j+1, "个小球正在移动!")
new_ball_pos,index=move(new_ball_pos,j,flag,index)
new_ball_pos = sorted(new_ball_pos, key=(lambda x: x[0]), reverse=False)
for i in range(n):
print(new_ball_pos[i][1],end=" ")
2.5 2017年
201703-2学生排队
def search_id(id,row,n):
for i in range(n):
if row[i][0]==id:
return i
return -1
n=int(input())
row=[[i,i] for i in range(1,n+1)]
count=int(input())
for i in range(count):
id,move=list(map(int,input().split()))
if move>0:
row_id=search_id(id,row,n)
old=row[row_id][1]
row[row_id][1]+=move
new=row[row_id][1]
for j in range(n):
if row[j][1]<=new and row[j][1]>old and j!=row_id:
row[j][1]-=1
elif move<0:
row_id=search_id(id,row,n)
old=row[row_id][1]
row[row_id][1]+=move
new=row[row_id][1]
for j in range(n):
if row[j][1]>=new and row[j][1]<old and j!=row_id:
row[j][1]+=1
else :
continue
row=sorted(row,key=(lambda x:x[1]),reverse=False)
for i in range(n):
print(row[i][0],end=" ")
201709-2公共钥匙盒
#还钥匙找到最左边的空格
#按照钥匙编号顺序归还
#先还后取
def search_key(key_id,key):
for i in range(len(key)):
if key[i]==key_id:
return i
return -1
N,K=list(map(int,input().split()))
key=[i for i in range(1,N+1)]
action=[]#id,time,type(type=2取,type=1还)
for i in range(K):
row=list(map(int,input().split()))
action.append([row[0],row[1],2])
action.append([row[0],row[1]+row[2],1])
action=sorted(action,key=(lambda x:(x[1],x[2],x[0])))#按照时间排序
for i in range(len(action)):
if action[i][2]==2:
position=search_key(action[i][0],key)
key[position]=-1
elif action[i][2]==1:
for j in range(N):
if key[j]==-1:
key[j]=action[i][0]
break
for i in range(N):
print(key[i],end=" ")
201712-2游戏
n,k=list(map(int,input().split()))
flag=[1 for i in range(n)]
number=1
index=0#index=(index+1)%n
while sum(flag)!=1:
if flag[index]==1:
# print("第", index + 1, "号小朋友报数:", number)
if number%10==k or number%k==0:
flag[index]=0
# print("淘汰")
index=(index+1)%n
number+=1
elif flag[index]==0:
index=(index+1)%n
print(flag.index(1)+1)
2.6 2016年
201604-2俄罗斯方块
square=[]
for i in range(15):
row=list(map(int,input().split()))
square.append(row)
xz=[]
xz_rc=[]
for i in range(4):
row=list(map(int,input().split()))
xz.append(row)
n=int(input())
max_col=-1
min_col=5
for i in range(4):
for j in range(4):
if xz[i][j]==1:
xz_rc.append([i,j+n-1])
max_col=max(max_col,i)
min_col=min(min_col,i)
# print(xz_rc)
count=max_col-min_col+1
ans_row=15-count
# print(count)
flag=0
for i in range(15-count):
# print("i=",i)
for item in xz_rc:
temp_row=item[0]+i-min_col
temp_col=item[1]
# print(temp_row,temp_col)
if square[temp_row+1][temp_col]==1:
ans_row=min(ans_row,i)
flag=1
# print("ans_row=",ans_row)
if flag==1:
break
# print("ans:",ans_row)
for item in xz_rc:
square[item[0]-min_col+ans_row][item[1]]=1
for i in range(15):
for j in range(10):
print(square[i][j],end=" ")
print()
201609-2火车购票
#number=i行j列 number=i*5+(j+1)
n=int(input())
row=list(map(int,input().split()))
#初始化座位
chair=[]
for i in range(20):
temp_ticket=[0 for i in range(5)]
chair.append(temp_ticket)
#输出车票编号
for i in range(len(row)):
ticket=row[i]
flag = 0 # 没有连续车票
#判断是否有连续的
for j in range(20):
if flag==1:
break
for k in range(5):
if flag==1:
break
if chair[j][k]==0 and ticket<=(5-k):
flag=1
for m in range(k,ticket+k):
print(j*5+(m+1),end=" ")
chair[j][m]=1
#若没有连续
if flag==0:
for j in range(20):
if ticket==0:
break
for k in range(5):
if ticket==0:
break
if chair[j][k]==0:
print(j*5+(k+1),end=" ")
ticket-=1
print()
201612-2工资计算
T=int(input())
if T<=3500:
print(T)
elif T<=4955:
print((int)(3500+((T-3500)/0.97)))
elif T<=7655:
print((int)(3500+(T-4955)/0.9+1500))
elif T<=11255:
print((int)(3500+(T-7655)/0.8+4500))
elif T<=30755:
print((int)(3500+(T-11255)/0.75+9000))
elif T<=44755:
print((int)(3500+(T-30755)/0.7+35000))
elif T<=61005:
print((int)(3500+(T-44755)/0.65+55000))
elif T<=100000:
print((int)(3500+(T-61005)/0.55+80000))
2.7 2015年
201503-2数字排序
n=int(input())
num=list(map(int,input().split()))
number=[[i,0] for i in range(1005)]
for i in range(n):
temp=num[i]
number[temp][1]+=1
ans=sorted(number,key=(lambda x:x[1]),reverse=True)
for i in range(n):
if ans[i][1]!=0:
print(ans[i][0],ans[i][1])
201509-2日期计算
def judge_year(year):
if year%400==0:
return 1
elif year%4==0 and year%100!=0:
return 1
else:
return -1
n=int(input())
number=int(input())
day_normal=[31,28,31,30,31,30,31,31,30,31,30,31]
day_r=[31,29,31,30,31,30,31,31,30,31,30,31]
sum_year=0
count_day=[]
if judge_year(n)==1:
count_day=day_r
elif judge_year(n)==-1:
count_day=day_normal
for i in range(12):
sum_year+=count_day[i]
if sum_year==number:
print(i+1)
print(count_day[i])
break
elif sum_year>number:
print(i+1)
print(count_day[i]-(sum_year-number))
break
elif sum_year < number:
continue
201512-2消除类游戏
import copy
n,m=list(map(int,input().split()))
color=[]
for i in range(n):
row=list(map(int,input().split()))
color.append(row)
ans=copy.deepcopy(color)
for i in range(n):
for j in range(m-2):
if color[i][j]==color[i][j+1] and color[i][j+1]==color[i][j+2]:
ans[i][j]=0
ans[i][j+1]=0
ans[i][j+2] = 0
for i in range(m):
for j in range(n-2):
if color[j][i]==color[j+1][i] and color[j+1][i]==color[j+2][i]:
ans[j][i]=0
ans[j+1][i]=0
ans[j+2][i] = 0
for i in range(n):
for j in range(m):
print(ans[i][j],end=" ")
print()
2.8 2014年
201403-2窗口
N,M=list(map(int,input().split()))
windows=[]
for i in range(N):
row=list(map(int,input().split()))
row.append(N-i)
row.append(i+1)
windows.append(row)
mouse=[]
for i in range(M):
row=list(map(int,input().split()))
mouse.append(row)
for i in range(M):
windows=sorted(windows,key=(lambda x:x[4]),reverse=False)
flag=0
for j in range(len(windows)):
if flag==0 and (mouse[i][0]>=windows[j][0] and mouse[i][0]<=windows[j][2]) and (mouse[i][1]>=windows[j][1] and mouse[i][1]<=windows[j][3]):
windows[j][4]=1
print(windows[j][5])
flag=1
else:
windows[j][4]+=1
if flag==0:
print("IGNORED")
201409-2画图
n=int(input())
draw_map=[]
for i in range(102):
row=[0 for j in range(102)]
draw_map.append(row)
for i in range(n):
x1,y1,x2,y2=list(map(int,input().split()))
for x in range(x1,x2):
for y in range(y1,y2):
draw_map[x][y]=1
sum_map=0
for i in draw_map:
sum_map+=sum(i)
print(sum_map)
201412-2Z字形扫描
#Z字形扫描
n=int(input())
img=[]
for i in range(n):
row=list(map(int,input().split()))
img.append(row)
direct=[[0,1],[1,0],[1,-1],[-1,1]]
east=0
south=1
southwest=2
northeast=3
#输出左上三角
row,col=0,0
next=east
print(img[row][col],end=" ")
while row!=n-1 or col!=n-1 :
row+=direct[next][0]
col+=direct[next][1]
print(img[row][col],end=" ")
if next==east and row==0:#初始横向
next=southwest
elif next==east and row==n-1:#
next=northeast
elif next==south and col==0:
next=northeast
elif next==south and col==n-1:
next=southwest
elif next==southwest and row==n-1:
next=east
elif next==southwest and col==0:
next=south
elif next==northeast and col==n-1:
next=south
elif next==northeast and row==0:
next=east
2.9 2013年
201312-2ISBN号码
isbn=list(input().split('-'))
end_num=isbn[3]
count=1
sum=0
flag=False
for i in range(len(isbn)):
for j in range(len(isbn[i])):
num=int(isbn[i][j])
sum+=count*num
count+=1
if count==10:
flag=True
break
if flag==True:
break
ys=str(sum%11)
if ys==end_num or (ys=='10' and end_num=='X'):
print("Right")
else:
end_num=sum%11
if end_num!=10:
print(isbn[0]+"-"+isbn[1]+'-'+isbn[2]+'-'+str(end_num))
elif end_num==10:
print(isbn[0] + "-" + isbn[1] + '-' + isbn[2] + '-X')