Submission #155197

#TimeUsernameProblemLanguageResultExecution timeMemory
155197stefdascaIzlet (COI19_izlet)C++14
18 / 100
614 ms55820 KiB
#include<bits/stdc++.h> using namespace std; int ed, n, subtask; int dist[3002][3002]; vector<int>v[3002]; pair<int, int> ans[3002]; int lst; vector<int>cc; bool viz[3002]; int cul[3002]; void dfs(int nod) { viz[nod] = 1; cc.push_back(nod); for(int i = 0; i < v[nod].size(); ++i) { int vecin = v[nod][i]; if(!viz[vecin]) dfs(vecin); } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> subtask; cin >> n; for(int i = 1; i <= n; ++i) for(int j = 1; j <= n; ++j) cin >> dist[i][j]; if(subtask == 1) { for(int i = 1; i <= n; ++i) for(int j = i + 1; j <= n; ++j) if(dist[i][j] == 1) { v[i].push_back(j); v[j].push_back(i); } int col = 1; for(int i = 1; i <= n; ++i) if(!viz[i]) { if(lst) ans[++ed] = {lst, i}; dfs(i); for(int j = 0; j + 1 < cc.size(); ++j) ans[++ed] = {cc[j], cc[j+1]}; for(int j = 0; j < cc.size(); ++j) cul[cc[j]] = col; lst = cc.back(); cc.clear(); col = 3 - col; } for(int i = 1; i <= n; ++i) cout << cul[i] << " "; cout << '\n'; for(int i = 1; i <= ed; ++i) cout << ans[i].first << " " << ans[i].second << '\n'; } return 0; }

Compilation message (stderr)

izlet.cpp: In function 'void dfs(int)':
izlet.cpp:15:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0; i < v[nod].size(); ++i)
                    ~~^~~~~~~~~~~~~~~
izlet.cpp: In function 'int main()':
izlet.cpp:47:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(int j = 0; j + 1 < cc.size(); ++j)
                                ~~~~~~^~~~~~~~~~~
izlet.cpp:49:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(int j = 0; j < cc.size(); ++j)
                                ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...