1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <unordered_set>
#include <string>

using namespace std;

int main() {
    int n, q;
    cin >> n >> q;

    unordered_set<int> posiadacze_komputerow;

    for (int i = 0; i < q; ++i) {
        char typ;
        cin >> typ;

        if (typ == '+') {
            int a, b;
            cin >> a >> b;
            posiadacze_komputerow.insert(a);
            posiadacze_komputerow.insert(b);
        } else if (typ == '-') {
            int c;
            cin >> c;
            posiadacze_komputerow.erase(c);
        } else {  // typ == '?'
            int d;
            cin >> d;
            if (posiadacze_komputerow.find(d) != posiadacze_komputerow.end())
                cout << "1";
            else if (posiadacze_komputerow.find(d) == posiadacze_komputerow.end())
                cout << "0";
            else
                cout << "?";
        }
    }
    return 0;
}