回答編集履歴
2
文言修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
```
|
6
6
|
|
7
|
-
ここで`a.begin()`より前の要素を消去しようとしています。
|
7
|
+
ここで`a.begin()`より前の範囲外要素を消去しようとしています。
|
8
8
|
|
9
9
|
|
10
10
|
|
1
解答例説明追加
test
CHANGED
@@ -5,3 +5,21 @@
|
|
5
5
|
```
|
6
6
|
|
7
7
|
ここで`a.begin()`より前の要素を消去しようとしています。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
> また、解答例のvis[]とwhile{}の中で何故そのように書くのか、どういう仕組みなのかが理解できません。
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
・`vis[]`は残っている人の席を`0`、抜けた人の席を`1`
|
16
|
+
|
17
|
+
・`count`は前回抜けた人の次からの残っている人がいたの席のカウント
|
18
|
+
|
19
|
+
・`rev`は残っている人数
|
20
|
+
|
21
|
+
`while{}`で残り1人になるまでループ。
|
22
|
+
|
23
|
+
`do{}while(vis[k]==1);`で抜けた人の席を読み飛ばし。
|
24
|
+
|
25
|
+
としているだけです。
|