AtCoder Beginner Contest 170・171・172・178 A〜B問題

前書き

AtCoder Beginner Contest 170・171・172・178 A〜B問題を解きました。

A問題(ABC170)

  • 難易度:
  • 時間:3分

https://atcoder.jp/contests/abc171/tasks/abc170_aatcoder.jp

N=list(map(int,input().split()))
for n in range(5):
  if N[n]==0: print(n+1)

B問題(ABC170)

  • 難易度:
  • 時間:5分

https://atcoder.jp/contests/abc171/tasks/abc170_batcoder.jp

足の総数が偶数であり、全ての動物の足が2本 or 4本の時を境界条件として、これらを全て満たす場合に組み合わせが存在するとします。

import math
X,Y=map(int,input().split())
if Y%2==0 and X>=Y/4 and Y/2>=X: print('Yes')
else: print('No')

A問題(ABC171)

  • 難易度:
  • 時間:3分

atcoder.jp

islower()の使い方が頭に入っていませんでした。

a = str(input())
a = 'a' if a.islower() else  'A'
print(a)

B問題(ABC171)

  • 難易度:
  • 時間:2分

atcoder.jp

N,K=map(int,input().split())
p=list(map(int,input().split()))
p.sort()
print(sum(p[:K]))

A問題(ABC172)

  • 難易度:
  • 時間:30秒

https://atcoder.jp/contests/abc171/tasks/abc172_aatcoder.jp

a=int(input())
print(a+a**2+a**3)

B問題(ABC172)

  • 難易度:
  • 時間:1分30秒

https://atcoder.jp/contests/abc171/tasks/abc172_batcoder.jp

S=input()
T=input()
count=0
for i in range(len(S)):
  if S[i]!=T[i]: count+=1
print(count)

A問題(ABC178)

  • 難易度:
  • 時間:3分

https://atcoder.jp/contests/abc171/tasks/abc178_aatcoder.jp

賢い方法はないかとビットの反転で計算したのですが、1 → -2となったのでナシ。
XORで片方を1に固定したら簡単に実装できました。

x=int(input())
print(x^1)

B問題(ABC178)

  • 難易度:
  • 時間:2分

https://atcoder.jp/contests/abc171/tasks/abc178_batcoder.jp

境界条件を全て調べたほうが早いです。

a,b,c,d=map(int,input().split())
print(max(max(max(a*c,a*d),b*c),b*d))