ccf 2019.12.15報数回収局アドレス(python)
11297 ワード
今はまだ問題が出ていませんが、成績が出て3番目の問題が出て2時間もかかりました.例はすべて正しいです.結果は0分5番目の問題が20分で、最後に220分で、私の気持ちは爆発しました.
1,2題ともaになった
に報いる
7と7の倍数に出会って入力をスキップします:新聞の個数の出力:甲乙丙丁の4人は何回スキップしたことがあります
簡単で、1つのcountは記録をして、1つのwhileは循環して遍歴します
ごみ箱アドレス
ポイントは、回収所の基準を満たしているかどうか、つまり上下左右にゴミがあるかどうかを判断し、基準を満たしている位置から4つの対角の点数を判断することです
便宜上、2つの関数を個別に分解します.
問題が出てから更新する
1,2題ともaになった
に報いる
7と7の倍数に出会って入力をスキップします:新聞の個数の出力:甲乙丙丁の4人は何回スキップしたことがあります
簡単で、1つのcountは記録をして、1つのwhileは循環して遍歴します
n=int(input())
count=[0,0,0,0]
number=1
while n>0:
if (number>=7 and number%7==0) or ('7' in str(number)) :
count[(number%4)-1]+=1
else:
n-=1
number+=1
for i in count:
print(i)
ごみ箱アドレス
ポイントは、回収所の基準を満たしているかどうか、つまり上下左右にゴミがあるかどうかを判断し、基準を満たしている位置から4つの対角の点数を判断することです
便宜上、2つの関数を個別に分解します.
n=int(input())
position=[]
res=[0,0,0,0,0]
def adj(x,y,p):
l=[x-1,y]
r=[x+1,y]
t=[x,y-1]
b=[x,y+1]
if l in p and r in p and t in p and b in p:
return True
else:
return False
def count(x,y,p,res):
lt=[x-1,y-1]
rt=[x+1,y-1]
lb=[x-1,y+1]
rb=[x+1,y+1]
pos=[lt,rt,lb,rb]
count=0
for i in range(len(pos)):
if pos[i] in p:
count+=1
res[count]+=1
for i in range(n):
position.append(list(map(int,input().split())))
for p in position:
if p[0]*p[1]==0: #
continue
if adj(p[0],p[1],position): #
count(p[0],p[1],position,res) #
for i in res:
print(i)
問題が出てから更新する