# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
610574 | 1bin | Untitled (POI11_smi) | C++14 | 930 ms | 143980 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define all(v) v.begin(), v.end()
typedef long long ll;
const int NMAX = 1e6 + 5;
int n, m, a, b, s, p, w[NMAX], chk[NMAX], vis[NMAX];
vector<pair<int, int>> adj[NMAX];
vector<int> t;
vector<vector<int>> ans;
stack<int> st;
void dfs(int x){
for(auto& i = w[x]; i < adj[x].size(); i++){
auto& [nx, e] = adj[x][i];
if(chk[e]) continue;
chk[e] = 1;
dfs(nx);
}
t.emplace_back(x);
return;
}
int main(void){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n >> m;
for(int i = 0; i < m; i++){
cin >> a >> b >> s >> p;
if(s ^ p) {
adj[a].emplace_back(b, i);
adj[b].emplace_back(a, i);
}
}
for(int i = 1; i <= n; i++)
if(adj[i].size() & 1){
cout << "NIE"; return 0;
}
for(int i = 1; i <= n; i++)
if(w[i] < adj[i].size()) dfs(i);
for(int& x : t) {
if(vis[x]){
vector<int> v(1, x);
while(1){
int cur = st.top();
v.emplace_back(cur);
if(cur == x) break;
st.pop(); vis[cur] = 0;
}
ans.emplace_back(v);
}
else st.emplace(x), vis[x] = 1;
}
cout << ans.size() << '\n';
for(auto& t : ans){
cout << t.size()- 1 << ' ';
for(int x : t) cout << x << ' ';
cout << '\n';
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |