Submission #948458

#TimeUsernameProblemLanguageResultExecution timeMemory
948458vjudge1Pipes (CEOI15_pipes)C++17
20 / 100
950 ms65536 KiB
#include <bits/stdc++.h> using namespace std; //#define int long long #define pb push_back #define ff first #define ss second #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(), v.rend() #define sz(v) (int)v.size() //const int INF = 1e18; const int mod = 998244353; const int N = 1e5+5; int n; vector<vector<pair<int,int>>> adj; vector<bool> visited; vector<int> tin, low; int timer; map<pair<int,int>,bool> bridge; void IS_BRIDGE(int u, int v){ cout << u + 1 << ' ' << v + 1 << '\n'; } void dfs(int v, int ind = -1) { visited[v] = true; tin[v] = low[v] = timer++; for (auto [to, nxt] : adj[v]) { if (nxt == ind) continue; if (visited[to]) { low[v] = min(low[v], tin[to]); } else { dfs(to, nxt); low[v] = min(low[v], low[to]); if (low[to] > tin[v]) IS_BRIDGE(v, to); } } } void find_bridges() { timer = 0; visited.assign(n, false); tin.assign(n, -1); low.assign(n, -1); for (int i = 0; i < n; ++i) { if (!visited[i]) dfs(i); } } map<pair<int,int>, int> in; void solve(){ cin >> n; int m; cin >> m; adj.resize(n); for(int i = 0; i < m; i++){ int u, v; cin >> u >> v; u--; v--; if(in[{min(u, v), max(u, v)}] == 2){ }else{ in[{min(u, v), max(u, v)}]++; adj[u].pb({v, i}); adj[v].pb({u, i}); } } find_bridges(); } main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tt = 1; //cin >> tt; while (tt--) { solve(); } }

Compilation message (stderr)

pipes.cpp:73:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   73 | main(){
      | ^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...