168062025-05-13 17:25:56algoproKét csoportcpp17Hibás válasz 0/100400ms18996 KiB
// UUID: 217b7508-0ead-4ef1-a65d-c8dbbe5f6704
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> kis,ossz;
vector<int> csop;
void dfs(int cs)
{
	int hany=0;
	for(int &x:ossz[cs])
		if(csop[x]==csop[cs]) hany++;
	cout<<cs<<" "<<hany<<endl;
	if(hany<=1) return;
	if(hany==3)
	{
		csop[cs]=3-csop[cs];
		return;
	}
	csop[cs]=3-csop[cs];
	int ind=0;
	for(int &x:ossz[cs])
		if(csop[x]==csop[cs]) ind=x;
	dfs(ind); 
}
int main() {
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n; cin>>n;
	ossz.assign(n+1,vector<int>());
	csop.assign(n+1,0);
	for(int i=1; i<=n; i++)
	{
		while(1)
		{
			int x; cin>>x;
			if(x==0) break;
			ossz[i].push_back(x);
		}
	}
	for(int i=1; i<=n; i++)
	{
		csop[i]=1;
		dfs(i);
		for(int &x:ossz[i])
		{
			if(x>i) continue;
			int hany=0;
			for(int &j:ossz[x])
				if(csop[j]==csop[x]) hany++;
			if(hany>1) dfs(x); 
		}
	}
	vector<int> ans;
	for(int i=1; i<=n; i++)
		if(csop[i]==1) ans.push_back(i);
	cout<<(int)ans.size()<<"\n";
	for(int &i:ans)
		cout<<i<<" ";
	cout<<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/100
1Hibás válasz0/01ms316 KiB
2Időlimit túllépés0/0310ms8108 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/34ms460 KiB
10Hibás válasz0/34ms316 KiB
11Hibás válasz0/34ms316 KiB
12Hibás válasz0/335ms1076 KiB
13Hibás válasz0/335ms1076 KiB
14Hibás válasz0/337ms1080 KiB
15Időlimit túllépés0/6342ms8112 KiB
16Időlimit túllépés0/7356ms8088 KiB
17Időlimit túllépés0/7347ms8176 KiB
18Időlimit túllépés0/6384ms13620 KiB
19Időlimit túllépés0/6386ms13364 KiB
20Időlimit túllépés0/6400ms13364 KiB
21Időlimit túllépés0/6400ms18996 KiB
22Időlimit túllépés0/7377ms18996 KiB
23Időlimit túllépés0/7384ms18996 KiB
24Időlimit túllépés0/7400ms18996 KiB