Submission #1054245

#TimeUsernameProblemLanguageResultExecution timeMemory
1054245MighilonJoker (BOI20_joker)C++17
0 / 100
2059 ms12544 KiB
#include <bits/stdc++.h> using namespace std; #ifdef DEBUG #include "../Library/debug.h" #else #define dbg(x...) // #define cin fin // #define cout fout // const string FILE_NAME = ""; ifstream fin(FILE_NAME + ".in"); ofstream fout(FILE_NAME + ".out"); #endif typedef long long ll; typedef long double ld; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef vector<int> vi; typedef vector<ll> vl; typedef vector<pi> vpi; typedef vector<pl> vpl; #define FOR(i, a, b) for (int i = (a); i < (b); ++i) #define F0R(i, a) for (int i = 0; i < (a); ++i) #define FORd(i, a, b) for (int i = (b) - 1; i >= (a); --i) #define F0Rd(i, a) for (int i = (a) - 1; i >= 0; --i) #define trav(a, x) for (auto& a : x) #define f first #define s second #define pb push_back #define sz(x) (int)(x).size() #define all(x) x.begin(), x.end() const char nl = '\n'; const int INF = 1e9; const int MOD = 1e9 + 7; vector<vi> adj; vi edges, good; vi color; bool cycle = false; void dfs(int u, int p, int c){ if(color[u] != -1 && color[u] != c){ cycle = true; return; } if(color[u] != -1) return; color[u] = c; trav(id, adj[u]){ if(!good[id]) continue; int v = edges[id] ^ u; if(v == p) continue; dfs(v, u, c ^ 1); } } void solve(){ int n, m, q; cin >> n >> m >> q; adj.resize(n); edges.resize(m); F0R(i, m){ int a, b; cin >> a >> b; --a, --b; edges[i] = a ^ b; adj[a].pb(i); adj[b].pb(i); } color.resize(n); good.resize(m); while(q--){ int a, b; cin >> a >> b; a--, b--; color = vector<int>(n, -1); F0R(i, m){ if(i >= a && i <= b) good[i] = false; else good[i] = true; } cycle = false; F0R(i, n){ if(color[i] == -1) dfs(0, -1, 1); } if(cycle) cout << "YES\n"; else cout << "NO\n"; dbg(color) } } int32_t main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int TC = 1; // cin >> TC; while(TC--){ solve(); } 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...