回答編集履歴
1
推敲
answer
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
自己解決しました。
|
|
2
2
|
|
|
3
|
-
C++のsetでは、`<`演算子を使って重複排除が行われているようです。そして、`a < b`でも`b < a`でもない要素が同じ要素と
|
|
3
|
+
C++のsetでは、`<`演算子を使って重複排除が行われているようです。そして、`a < b`でも`b < a`でもない要素同士が同じ要素とみなされます(`==`演算子は使われないようです)。例えば、以下のコードを実行すると「1」が出力されます。
|
|
4
4
|
|
|
5
5
|
```c++
|
|
6
6
|
#include <bits/stdc++.h>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
}
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
`Person`クラスの`<`演算子を次のように書き換えることで、想定外の重複排除は行われなくなりま
|
|
28
|
+
`Person`クラスの`<`演算子を次のように書き換えることで、想定外の重複排除は行われなくなりました。
|
|
29
29
|
|
|
30
30
|
```c++
|
|
31
31
|
bool operator<(const Person &that) const {
|