10138 2024. 03. 28 00:03:59 111 Turista járatok cpp17 Hibás válasz 10/100 164ms 60080 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,M,K;
	cin>>N>>M>>K;
	vector<vector<pair<int,int>>>g(N+1);
	for(int i=0;i<M;i++){
		int a,b;
		cin>>a>>b;
		g[a].emplace_back(b,i<K);
		g[b].emplace_back(a,i<K);
	}
	vector<int>v(N+1),w(N+1),u(N+1);
	auto dfs=[&](auto self,int i)->void{
		w[i]=i;
		for(auto[j,b]:g[i]){
			if(v[j]){
				if(v[j]>v[i]&&b){
					if(w[j]==i||w[j]==j){
						u[j]=1;
					}
					else{
						for(auto[k,_]:g[w[j]]){
							if(v[k]<v[w[j]]){
								continue;
							}
							u[k]=1;
						}
					}
				}
				if(v[j]>=v[i]-1){
					continue;
				}
				if(v[j]<v[w[i]]){
					w[i]=j;
				}
				continue;
			}
			v[j]=v[i]+1;
			self(self,j);
			if(v[w[j]]<v[w[i]]){
				w[i]=w[j];
			}
			if(b){
				if(w[j]==i||w[j]==j){
					u[j]=1;
				}
				else{
					for(auto[k,_]:g[w[j]]){
						if(v[k]<v[w[j]]){
							continue;
						}
						u[k]=1;
					}
				}
			}
		}
	};
	v[1]=1;
	dfs(dfs,1);
	vector<int>ans;
	auto dfs2=[&](auto self,int i,int b)->void{
		if(b){
			ans.push_back(i);
		}
		for(auto[j,_]:g[i]){
			if(v[j]!=v[i]+1){
				continue;
			}
			self(self,j,b||u[j]);
		}
	};
	dfs2(dfs2,1,0);
	sort(ans.begin(),ans.end());
	cout<<ans.size()<<'\n';
	for(int i:ans){
		cout<<i<<' ';
	}
	cout<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1824 KiB
2 Elfogadva 9ms 4768 KiB
subtask2 0/10
3 Elfogadva 3ms 2272 KiB
4 Elfogadva 3ms 2444 KiB
5 Elfogadva 3ms 2824 KiB
6 Hibás válasz 3ms 2788 KiB
7 Hibás válasz 3ms 3160 KiB
subtask3 10/10
8 Elfogadva 3ms 3136 KiB
9 Elfogadva 3ms 3208 KiB
10 Elfogadva 3ms 3456 KiB
11 Elfogadva 3ms 3776 KiB
12 Elfogadva 4ms 4552 KiB
subtask4 0/10
13 Elfogadva 7ms 5504 KiB
14 Elfogadva 3ms 3744 KiB
15 Elfogadva 3ms 3996 KiB
16 Elfogadva 4ms 4464 KiB
17 Hibás válasz 164ms 58864 KiB
18 Hibás válasz 48ms 15760 KiB
19 Hibás válasz 61ms 19716 KiB
20 Hibás válasz 46ms 16156 KiB
subtask5 0/10
21 Elfogadva 9ms 6808 KiB
22 Hibás válasz 3ms 4844 KiB
23 Elfogadva 3ms 4808 KiB
24 Hibás válasz 3ms 4820 KiB
25 Hibás válasz 90ms 35872 KiB
26 Hibás válasz 8ms 6876 KiB
27 Hibás válasz 8ms 7036 KiB
subtask6 0/60
28 Hibás válasz 3ms 5212 KiB
29 Elfogadva 3ms 5228 KiB
30 Elfogadva 4ms 5484 KiB
31 Elfogadva 4ms 5832 KiB
32 Hibás válasz 4ms 5980 KiB
33 Elfogadva 6ms 6152 KiB
34 Elfogadva 8ms 7232 KiB
35 Elfogadva 9ms 7508 KiB
36 Elfogadva 9ms 7444 KiB
37 Hibás válasz 164ms 60080 KiB
38 Hibás válasz 48ms 17028 KiB
39 Hibás válasz 46ms 16900 KiB
40 Hibás válasz 46ms 16904 KiB
41 Hibás válasz 46ms 16904 KiB
42 Hibás válasz 48ms 17032 KiB
43 Hibás válasz 48ms 16900 KiB
44 Hibás válasz 46ms 16900 KiB
45 Hibás válasz 64ms 20672 KiB
46 Hibás válasz 46ms 16976 KiB
47 Hibás válasz 48ms 16900 KiB
48 Hibás válasz 46ms 16952 KiB
49 Hibás válasz 46ms 16936 KiB
50 Hibás válasz 46ms 16900 KiB