제출 #877620

#제출 시각아이디문제언어결과실행 시간메모리
877620kh0iJoker (BOI20_joker)C++17
14 / 100
94 ms15960 KiB
#include "bits/stdc++.h" using namespace std; #ifdef LOCAL #include "debug.h" #else #define debug(...) #endif using ll = long long; using pii = pair<int, int>; #define F first #define S second #define sz(x) (int)((x).size()) #define all(x) (x).begin(), (x).end() mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll get_rand(ll l, ll r) { assert(l <= r); return uniform_int_distribution<ll> (l, r)(rng); } const int N = 2e5 + 3; int n, m, q, L[N], R[N]; vector<pii> g[N]; // contain no odd cycle -> bipartite graph namespace Sub12{ bool valid_input(){ return n <= 2000 and m <= 2000 and q <= 2000; } int vis[N]; bool dfs(int u, int l, int r, int col){ bool ok = 1; vis[u] = col; for(auto [v, id] : g[u]){ if(l <= id and id <= r) continue; if(vis[v]) ok &= (vis[u] != vis[v]); else ok &= dfs(v, l, r, col ^ 3); } return ok; } void solve(){ for(int i = 1; i <= q; ++i){ bool bipartite = 1; for(int u = 1; u <= n; ++u) vis[u] = 0; for(int u = 1; u <= n; ++u){ if(!vis[u]) bipartite &= dfs(u, L[i], R[i], 1); } cout << (bipartite ? "NO\n" : "YES\n"); } } } void solve(){ cin >> n >> m >> q; for(int i = 1; i <= m; ++i){ int u, v; cin >> u >> v; g[u].push_back({v, i}); g[v].push_back({u, i}); } for(int i = 1; i <= q; ++i) cin >> L[i] >> R[i]; if(Sub12::valid_input()) Sub12::solve(); } int32_t main() { cin.tie(nullptr)->sync_with_stdio(0); #define task "nohome" if(fopen(task".inp", "r")){ freopen(task".inp", "r", stdin); freopen(task".out", "w", stdout); } int test = 1; // cin >> test; for(int i = 1; i <= test; ++i){ // cout << "Case #" << i << ": "; solve(); } #ifdef LOCAL cerr << "\n[Time]: " << 1000.0 * clock() / CLOCKS_PER_SEC << " ms.\n"; #endif return 0; }

컴파일 시 표준 에러 (stderr) 메시지

Joker.cpp: In function 'int32_t main()':
Joker.cpp:84:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   84 |         freopen(task".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
Joker.cpp:85:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   85 |         freopen(task".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...