Submission #244518

#TimeUsernameProblemLanguageResultExecution timeMemory
244518dantoh000Pipes (CEOI15_pipes)C++14
40 / 100
3545 ms49304 KiB
#include <bitset> #include <utility> #include <algorithm> using namespace std; typedef pair<int,int> ii; int n,m; bitset<450000000> M; bitset<450000000> G; int num[30005]; int low[30005]; int ct = 1; int hm[30005]; int f(int u, int v){ if (u > v) swap(u,v); //printf("%d %d %d\n",u,v,hm[u]+v); return hm[u]+v; } void dfs(int u, int p){ low[u] = num[u] = ct++; for (int v = 0; v < n; v++){ int F = f(u,v); if (G[F]){ if (num[v] == 0){ dfs(v,u); if (low[v] > num[u]){ if (M[F] == 0){ printf("%d %d\n",u+1,v+1); } } low[u] = min(low[u],low[v]); } else if (v != p){ low[u] = min(low[u],num[v]); } } } } int main(){ scanf("%d%d",&n,&m); for (int i = 1; i < n; i++){ hm[i] = hm[i-1]+(n-i-1); } for (int i = 0; i < m; i++){ int u,v; scanf("%d%d",&u,&v); u--; v--; int F = f(u,v); if (G[F]){ M[F] = 1; } else{ G[F] = 1; } } /*for (int i = 0; i < n; i++){ for (int j = i+1; j < n; j++){ printf("%d %d %d\n",i,j,f(i,j)); } }*/ for (int i = 0; i < n; i++){ if (num[i] == 0){ dfs(i,-1); } } }

Compilation message (stderr)

pipes.cpp: In function 'int main()':
pipes.cpp:39:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~
pipes.cpp:45:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&u,&v);
         ~~~~~^~~~~~~~~~~~~~
#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...