168152025-05-13 17:43:29algoproKét csoportcpp17Accepted 100/100157ms8348 KiB
// UUID: 77eaf51d-a8db-415a-b5f9-72849b898c2f
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n;
	cin >> n;
	vector<array<int, 4>> opps(n);
	vector<int> numOpps(n);
	for(int i=0;i<n;i++){
		for(int j=0;j<4;j++){
			cin >> opps[i][j];
			opps[i][j]--;
			if(opps[i][j]==-1){
				numOpps[i]=j;
				break;
			}
		}
	}
	vector<int> group(n);
	bool finished=false;
	while(!finished){
		finished=true;
		for(int i=0;i<n;i++){
			int oppCnt=0;
			for(int j=0;j<numOpps[i];j++){
				oppCnt+=(group[opps[i][j]]==group[i]);
			}
			if(1<oppCnt){
				finished=false;
				group[i]=1-group[i];
			}
		}
	}
	int ans=0;
	for(bool x : group) ans+=x;
	cout << ans << '\n';
	for(int i=0;i<n;i++) if(1==group[i]) cout << i+1 << ' ';
}
SubtaskSumTestVerdictTimeMemory
base100/100
1Accepted0/01ms496 KiB
2Accepted0/043ms2860 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms508 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms316 KiB
12Accepted3/34ms756 KiB
13Accepted3/34ms748 KiB
14Accepted3/34ms636 KiB
15Accepted6/645ms2868 KiB
16Accepted7/746ms2908 KiB
17Accepted7/750ms2868 KiB
18Accepted6/690ms5372 KiB
19Accepted6/697ms5636 KiB
20Accepted6/6101ms5684 KiB
21Accepted6/6141ms8100 KiB
22Accepted7/7144ms8244 KiB
23Accepted7/7156ms8244 KiB
24Accepted7/7157ms8348 KiB