ABC157(A~Cまで)
A - Duplex Printing
https://atcoder.jp/contests/abc157/tasks/abc157_a
N=int(input()) if N%2==0: print(N%2) else: print(N//2+1)
割り切れるならそそまま出力、あまりが出るなら切り捨てて1を足せば答えになります
B - Bingo
https://atcoder.jp/contests/abc157/tasks/abc157_b
A=[list(map(int, input().split())) for l in range(3)] N=int(input()) #マス開け for i in range(N): num=int(input()) for j in A: if num in j: index=j.index(num) j[index]="True" for i in range(3): #横の判定 if A[i][0]==A[i][1]==A[i][2]: print("Yes") exit() #縦の判定 list=[x[i] for x in A] if list[0]==list[1]==list[2]: print("Yes") exit() #斜めの判定 if A[0][0]==A[1][1]==A[2][2] or A[0][2]==A[1][1]==A[2][0]: print("Yes") else: print("No")
マスを開けた所はTrueではくても区別できるならなんでもいいです。
C - Guess The Number
https://atcoder.jp/contests/abc157/tasks/abc157_c
N,M=map(int,input().split()) ans=["false","false","false"] for i in range(M): a,b=map(int,input().split()) if ans[a-1]!="false": if ans[a-1]!=b: print(-1) exit() ans[a-1]=b if ans[0]==0: print(-1) exit() if "false" in ans: index=[i for i, x in enumerate(ans) if x == 'false'] for i in index: ans[i]=0 print("".join(map(str,ans))) else: print("".join(map(str,ans)))
合ってるか自信ないんですけど解いてみました。
調べてみたんですけど以下の記事の方がコードがキレイでしたので参考にどうぞ
https://qiita.com/ki_shi_0922/items/918aeab9ddf858080d6a
D以降は問題文の意味すらわからなかったので解いていません