제출 #959011

#제출 시각아이디문제언어결과실행 시간메모리
959011Cyber_WolfPipes (CEOI15_pipes)C++17
30 / 100
1644 ms65536 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define lg int
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
 
const lg N = 1e5+5;
 
vector<lg> adj[N];
lg n,m, tin[N], tmp, id;
 
int dfs(lg src, lg par = -1)
{
	int low;
	tin[src] = low = ++tmp;
	int idx = 0;
	for(auto it : adj[src])
	{
		if(it == par)
		{
			idx++;	
			continue;
		}
		if(tin[it])
		{
			low = min(low, tin[it]);
			idx++;	
			continue;
		}
		int low_it = dfs(it, src);
		low = min(low, low_it);
		if(idx && adj[src][idx-1] == it)	
		{
			idx++;
			continue;
		}
		if(idx+1 < adj[src].size() && adj[src][idx+1] == it)	
		{
			idx++;
			continue;
		}
		if(low_it > tin[src])
		{
			cout << src << ' ' << it << endl;
		}
		idx++;	
	}
	return low;
}
 
int main()
{
	fastio;
	cin >> n >> m;
	for(int i = 0; i < m; i++)
	{
		lg u, v;
		cin >> u >> v;
		adj[u].push_back(v);
		adj[v].push_back(u);
	}
	for(int i = 1; i <= n; i++)	sort(adj[i].begin(), adj[i].end());
	for(int i = 1; i <= n; i++)
	{
		if(!tin[i])	dfs(i);
	}
 
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

pipes.cpp: In function 'int dfs(int, int)':
pipes.cpp:38:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |   if(idx+1 < adj[src].size() && adj[src][idx+1] == it)
      |      ~~~~~~^~~~~~~~~~~~~~~~~
#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...