
C - AtCoder AAC Contest
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
A、B、Cの文字をそれぞれ持っており、AとCは一つづつ使った上でその他の1文字を使い、AAC
or ABC
or ACC
のどれかを最大いくつ作れるかといった問題。
AとCは必ず使う必要があり、もう一つはAでもBでもCでも良いですが、Bの足りない分をAとCで補うイメージを考えてみました。
例えば、A=3,B=0,C=3
の時は以下のようになります。
A: ooo
B:
C: ooo
⇩
A: oo
B: oo
C: oo
全体の個数を3で割ると作れる数がわかります。(A + B + C) // 3 = 2
ただし、CやAが少ない場合は話が違います。
A=3,B=3,C=0
の場合はCが一つもないので、AAC
or ABC
or ACC
のどれも作れません。
A: ooo
B: ooo
C:
Code language: HTTP (http)
なのでこの場合はA or Cの少ない方が答えになります。
以下でACできました。
def i_map():
return map(int, input().split())
def i_list():
return list(map(int, input().split()))
t = int(input())
for i in range(t):
a, b, c = i_map()
tmp = (a+b+c)//3
if tmp > a or tmp > c:
print(min(a, c))
else:
print(tmp)
Code language: PHP (php)
コメント