Submission #1188422

#TimeUsernameProblemLanguageResultExecution timeMemory
1188422kl0989eAlternating Current (BOI18_alternating)C++20
13 / 100
3092 ms1864 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define fi first #define se second #define pb push_back #define vi vector<int> #define vl vector<ll> #define pi pair<int, int> #define pl pair<ll,ll> #define all(x) (x).begin(),(x).end() int32_t main() { ios::sync_with_stdio(0); cin.tie(0); int n,m; cin >> n >> m; vector<pi> inte(m); for (int i=0; i<m; i++) { cin >> inte[i].fi >> inte[i].se; inte[i].fi--; inte[i].se--; } for (int msk=0; msk<(1<<m); msk++) { vi ok1(n,0),ok2(n,0); for (int i=0; i<m; i++) { if (msk&(1<<i)) { for (int j=inte[i].fi; ; j=(j+1)%n) { ok1[j]=1; if (j==inte[i].se) { break; } } } else { for (int j=inte[i].fi; ; j=(j+1)%n) { ok2[j]=1; if (j==inte[i].se) { break; } } } } if (accumulate(all(ok1),0)==n && accumulate(all(ok2),0)==n) { for (int i=0; i<m; i++) { if (msk&(1<<i)) { cout << 1; } else { cout << 0; } } cout << '\n'; return 0; } } cout << "impossible\n"; /*vi ord(m); iota(all(ord),0); sort(all(ord),[&](int a, int b){return (inte[a].fi<=inte[a].se?inte[a].fi:inte[a].se-n)<(inte[b].fi<=inte[b].se?inte[b].fi:inte[b].se-n);}); vector<vector<vi>> dp(m,vector<vi>(n+1,vi(n+1,1e9))); dp[0][inte[ord[0]].fi+1][0]=n-1; for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { for (int k=0; k<n; k++) { if (dp[i][j][k]==1e9) { continue; } if (j>=inte[ord[0]].se && inte[ord[0]].fi<=inte[ord[0]].se) { } } } }*/ 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...