답안 #34384

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
34384 2017-11-10T19:47:54 Z mohammad_kilani Pipes (CEOI15_pipes) C++14
10 / 100
3 ms 768 KB
#include <bits/stdc++.h>
using namespace std;
#define mod 1000007
#define oo 2000000000
const int M = 1500010 , N = 3011;
bitset< N > vis , vis2[N] , vis3[N];
vector< short > g[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<g[node].size();i++){
		if(g[node][i] == prnt) continue;
		if(vis[g[node][i]]){
			dfs_low[node] = min(dfs_low[node],dfs_num[g[node][i]]);
		}
		else{
			DFS(g[node][i],node);
			if(dfs_num[node] < dfs_low[g[node][i]] && !vis3[node][g[node][i]]){
				printf("%d %d\n",node,g[node][i]);
			}
			dfs_low[node] = min(dfs_low[node],dfs_low[g[node][i]]);
		}
	}
}


int main() {
	//freopen("in.txt","r",stdin);
	scanf("%d%d",&n,&m);
	for(int i=0;i<m;i++){
		scanf("%d%d",&u,&v);
		g[u].push_back(v);
		g[v].push_back(u);
		if(vis2[u][v]){
			vis3[u][v] = vis3[v][u] = true;
		}
		vis2[u][v] = vis2[v][u] = true;
	}
	for(short i=1;i<=n;i++){
		if(vis[i] == false) DFS(i,-1);
	}
	return 0;
}

Compilation message

pipes.cpp: In function 'void DFS(short int, short int)':
pipes.cpp:14:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(short i=0;i<g[node].size();i++){
                ~^~~~~~~~~~~~~~~
pipes.cpp: In function 'int main()':
pipes.cpp:32: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:34: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 512 KB Output is correct
2 Correct 2 ms 512 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 640 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 768 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 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 640 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 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 640 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 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -