A問題 abc of ABC
1 2 3 4 5 |
s = input() if 'a' in s and 'b' in s and 'c' in s: print('Yes') else: print('No') |
C問題 Same Integers
方針
こちらのサイトを参考にさせて頂きました。
ABC093 C – Same Integers – Qiita
3つの整数をリストに格納し、以下の操作を繰り返します。
・昇順(小さい方から)ソート
・リストの1つ目の要素<リストの2つ目の要素である間は、リストの1つ目の要素に2を加える。
・リストの1つ目の要素=リストの2つ目の要素である場合は、リストの1つ目の要素とリストの2つ目の要素にそれぞれ1を加える。
解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Integers = list(map(int, input().split())) count=0 if Integers[0]==Integers[1]==Integers[2]: #[1]始めから3つの整数が同じだった時 print(count) exit() while True: #[2]3つの整数が同じ値になるまで無限に繰り返す Integers.sort() #昇順ソート count+=1 #操作した回数として1を加える if Integers[0]<Integers[1]: #リストの1つ目の要素がリストの2つ目の要素より小さい場合 Integers[0]+=2 #リストの1つ目の要素に2を加える else: #上記if文以外の場合 Integers[0]+=1 #リストの1つ目の要素に1を加える Integers[1]+=1 #リストの2つ目の要素に1を加える if Integers[0]==Integers[1]==Integers[2]: #3つの整数が揃えば終了 break print(count) |
[1]
初めから3つの整数が同じ場合があるので、その時は方針で記載した操作は行わず、0と解答しています。
[2]
方針で記載した操作の部分になります。
詳細はコメントをご覧ください。
こういう数字を操作するようなタイプの問題は苦手です。
コメント