Submission #497084

#TimeUsernameProblemLanguageResultExecution timeMemory
497084sudheerays123Experimental Charges (NOI19_charges)C++98
32 / 100
1095 ms8116 KiB
#include <bits/stdc++.h> using namespace std; #define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define ll long long int #define tc ll test;cin >> test;while(test--) #define vi vector<ll> #define pll pair<ll,ll> #define pb push_back #define mp make_pair #define INF 1e18 #define MOD 1000000007 #define ff first #define ss second #define in >> #define out << #define space << " " << #define spacef << " " #define fo(i,a,b) for(ll i = a; i <= b; i++) #define nextline out "\n" #define print(x) for(auto i : x ) cout out i spacef #define mmax(x,i) x = max(x,i) #define mmin(x,i) x = min(x,i) #define N 100005 vector<bool> visited(N,false); vi color(N,-1); vector<pll> adj[N]; void dfs(ll s , ll c){ if(visited[s]) return; visited[s] = true; color[s] = c; for(auto u : adj[s]){ if(u.second == 1) dfs(u.first,c == 1 ? 0 : 1); else dfs(u.first,c); } } int main() { fast; ll n,q; cin in n in q; while(q--){ char x; ll a,b; cin in x in a in b; if(x == 'A'){ adj[a].pb(mp(b,1)); adj[b].pb(mp(a,1)); } else if(x == 'R'){ adj[a].pb(mp(b,0)); adj[b].pb(mp(a,0)); } else{ fo(i,1,n){ visited[i] = false; color[i] = -1; } dfs(a,0); if(color[b] == -1) cout out "?\n"; else if(color[b] == 0) cout out "R\n"; else cout out "A\n"; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...