回答編集履歴
1
追記0
test
CHANGED
@@ -110,3 +110,50 @@
|
|
110
110
|
|
111
111
|
となっています。
|
112
112
|
|
113
|
+
-----
|
114
|
+
|
115
|
+
[追記0]
|
116
|
+
|
117
|
+
さらに(3)以降も冗長です。仕様を確認してください。
|
118
|
+
``弱 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11 < 12 < 13 < 1 強``となっています。
|
119
|
+
|
120
|
+
この場合、「**規則性を見付ける**」ことや「**言い換え**」て考えてみるのも手です。
|
121
|
+
|
122
|
+
強い手や弱い手の並びを見ると、常に 2から13まではそのまま昇順になっている。ただし、なぜか1だけが例外で「13」より強い。
|
123
|
+
でも基本的には「整数の昇順」なので13の次は14です。この1が2よりは弱い…のように特殊条件があれば別ですが今回に限っては単純に``2~13 < 1`` なので
|
124
|
+
1を14と置き換えてもよさそうです。
|
125
|
+
|
126
|
+
そうすれば、``弱 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11 < 12 < 13 < 14 強``と単純に2から14まで昇順で並んでいるだけです。
|
127
|
+
整数の場合 ``A > B`` とかで調べればいいですね。
|
128
|
+
|
129
|
+
で、今回は「Aが強ければ"Alice"と表示し、Bが強ければ"Bob"と表示し…」とあるので、``A < B``のパターンと``A > B``のパターンと分離しなければならない木がしますが、候補は「Aが強い」「Bが強い」「AとBは同じ(= 互角)」の三つだけです。
|
130
|
+
|
131
|
+
ということは、
|
132
|
+
AとBは同じかどうか ->違うならどちらかが強い
|
133
|
+
なので
|
134
|
+
|
135
|
+
```
|
136
|
+
i. AとBが同じかどうか => 「互角」
|
137
|
+
ii. Aの方が大きいか
|
138
|
+
ii.i. 「アリス」
|
139
|
+
iii. (そうじゃなくて)Bの方が大きいか
|
140
|
+
iii.i. 「ボブ」
|
141
|
+
```
|
142
|
+
|
143
|
+
のようにできるはずです。だって(i)を満たした時点で「互角」的なものを表示したらそれ以上の処理はありません。
|
144
|
+
なので上記のように省略できるはずです。
|
145
|
+
|
146
|
+
さらに 普通に整数を比較するときも「大きい」「小さい」「同じ」しかあり得ないので、「同じ」がすでに出ていて除外される以上、
|
147
|
+
2分の1しかありません。「大きい」か「小さい」。「大きい」が満たされないのなら「小さい」しかあり得ません。
|
148
|
+
|
149
|
+
つまり、elif を使って条件式を指定するまでもなく「それ以外なら」が使えるはずです。
|
150
|
+
|
151
|
+
ということは、
|
152
|
+
```
|
153
|
+
1. データを取得
|
154
|
+
2.データが1のときだけ変換
|
155
|
+
3. 後は比較して回答
|
156
|
+
```
|
157
|
+
ようにすればいいはずです。
|
158
|
+
|
159
|
+
シンプルに考えるとわかりやすいかも。
|