답안 #34460

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
34460 2017-11-11T13:46:17 Z bnahmad15 Pipes (CEOI15_pipes) C++14
30 / 100
494 ms 30240 KB
#include <bits/stdc++.h>
using namespace std;
const int N = 10003;
bitset< N > vis , vis2[N] , vis3[N];
vector< short > adj[N];
short dfs_low[N], dfs_num[N], num = 0 ;
int n , m , u , v , ans = 0 ;

void DFS(short node,short prnt){
	vis[node]=true;
	dfs_low[node]=dfs_num[node]=num++;
	for (short i = 0;i<adj[node].size();i++){
		if (adj[node][i]==prnt)
			continue;
		if (vis[adj[node][i]]){
			dfs_low[node]=min(dfs_low[node],dfs_num[adj[node][i]]);
		}
		else {
			DFS(adj[node][i],node);
			if (dfs_num[node] < dfs_low[adj[node][i]] && !vis3[node][adj[node][i]]){
				printf("%d %d\n",node,adj[node][i]);
			}
			dfs_low[node]=min(dfs_low[node],dfs_low[adj[node][i]]);
		}
	}
}
int main(){
	
	scanf("%d%d",&n,&m);
	for (int i = 0 ; i <m;i++){
		scanf("%d%d",&u,&v);
		if (vis2[u][v]){
			vis3[u][v]=vis3[v][u]=true;
			continue;
		}
		vis2[u][v]=vis2[v][u]=true;
		adj[u].push_back(v);
		adj[v].push_back(u);
	}
	for (int i = 1 ; i <= n;i++)
		if (!vis[i])
			DFS(i,-1);
	return 0;
}

Compilation message

pipes.cpp: In function 'void DFS(short int, short int)':
pipes.cpp:12:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (short i = 0;i<adj[node].size();i++){
                   ~^~~~~~~~~~~~~~~~~
pipes.cpp: In function 'int main()':
pipes.cpp:29:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~
pipes.cpp:31:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d",&u,&v);
   ~~~~~^~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 768 KB Output is correct
2 Correct 2 ms 768 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 12 ms 6528 KB Output is correct
2 Correct 12 ms 6528 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 216 ms 13456 KB Output is correct
2 Correct 229 ms 11360 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 494 ms 30240 KB Memory limit exceeded (if you are sure your verdict is not MLE, please contact us)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 4 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 896 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -