Submission #1007339

# Submission time Handle Problem Language Result Execution time Memory
1007339 2024-06-24T15:55:50 Z vjudge1 Experimental Charges (NOI19_charges) C++17
18 / 100
24 ms 2396 KB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

#define int long long
#define FOR(i, a, b) for (int i = (a); i <= (b); i++)
#define FORD(i, a, b) for (int i = (b); i >= (a); i --)
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define REPD(i, n) for (int i = (n) - 1; i >= 0; --i)

#define MASK(i) (1LL << (i))
#define BIT(x, i) (((x) >> (i)) & 1)


constexpr ll LINF = (1ll << 60);
constexpr int INF = (1ll << 30);
constexpr int Mod = 1e9 + 7;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

/*
    Phu Trong from Nguyen Tat Thanh High School for gifted student
*/

template <class X, class Y>
    bool minimize(X &x, const Y &y){
        X eps = 1e-9;
        if (x > y + eps) {x = y; return 1;}
        return 0;
    }

template <class X, class Y>
    bool maximize(X &x, const Y &y){
        X eps = 1e-9;
        if (x + eps < y) {x = y; return 1;}
        return 0;
    }
int nArr, numQuery;
#define MAX     100005
int state[MAX];
void process(void){
    cin >> nArr >> numQuery;
    for (int i = 1; i <= numQuery; ++i){
        char c; int u, v; cin >> c >> u >> v;
        if(c == 'R'){
            if (!state[u] && !state[v]){
                state[u] = 1, state[v] = 1;
                continue;
            }
            if(!state[v]){
                if (state[u] == -1) state[v] = -1;
                else state[v] = 1;
            }
            if (!state[u]){
                if (state[v] == -1) state[u] = -1;
                else state[v] = 1;
            }
        }
        else if(c == 'A'){
            if (!state[u] && !state[v]){
                state[u] = 1, state[v] = -1;
                continue;
            }
            if(!state[v]){
                if (state[u] == -1) state[v] = 1;
                else state[v] = -1;
            }
            if (!state[u]){
                if (state[v] == -1) state[u] = 1;
                else state[v] = -1;
            }
        }
        else{
            cout << (state[u] * state[v] == -1 ? "A" : (state[u] * state[v] == 1 ? "R" : "?")) << '\n';
        }
    }
}
signed main(){
    #define name "Whisper"
    cin.tie(nullptr) -> sync_with_stdio(false);
    //freopen(name".inp", "r", stdin);
    //freopen(name".out", "w", stdout);

    process();
}



# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15 ms 2140 KB Output is correct
2 Correct 19 ms 2140 KB Output is correct
3 Correct 18 ms 2140 KB Output is correct
4 Correct 16 ms 2140 KB Output is correct
5 Correct 19 ms 2140 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 2140 KB Output is correct
2 Correct 14 ms 2396 KB Output is correct
3 Incorrect 24 ms 2388 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 22 ms 2060 KB Output is correct
2 Incorrect 16 ms 2396 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Incorrect 1 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 15 ms 2140 KB Output is correct
7 Correct 19 ms 2140 KB Output is correct
8 Correct 18 ms 2140 KB Output is correct
9 Correct 16 ms 2140 KB Output is correct
10 Correct 19 ms 2140 KB Output is correct
11 Correct 14 ms 2140 KB Output is correct
12 Correct 14 ms 2396 KB Output is correct
13 Incorrect 24 ms 2388 KB Output isn't correct
14 Halted 0 ms 0 KB -