168302025-05-13 18:33:25algoproJáték a síkoncpp17Hibás válasz 53/100600ms920 KiB
// UUID: cf7c9d3f-6906-4174-b370-403d8dd23376
#include <bits/stdc++.h>
using namespace std;

int n;
vector<vector<int>> nbrs;
vector<bool> vis;

bool dfs(int Indx){
	//printf("%d{", Indx);
	vis[Indx]=true;
	for(int& x : nbrs[Indx]) if(!vis[x]) if(!dfs(x)) return true;
	vis[Indx]=false;
	//printf("}");
	return false;
}

int main() {
	int n;
	cin >> n;
	vector<int> x(n), y(n);
	nbrs.resize(n);
	for(int i=0;i<n;i++){
		cin >> x[i] >> y[i];
		for(int j=0;j<i;j++){
			if(abs(x[i]-x[j])+abs(y[i]-y[j])==1){
				nbrs[i].push_back(j);
				nbrs[j].push_back(i);
			}
		}
	}
	vector<int> win;
	for(int i=0;i<n;i++){
		vis.assign(n, false);
		//printf("\n");
		if(!dfs(i)) win.push_back(i);
	}
	cout << win.size() << '\n';
	for(int i=0;i<win.size();i++) cout << x[win[i]] << ' ' << y[win[i]] << '\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Hibás válasz32ms316 KiB
subtask29/9
3Elfogadva1ms316 KiB
4Elfogadva1ms508 KiB
subtask30/10
5Elfogadva1ms316 KiB
6Elfogadva1ms316 KiB
7Elfogadva1ms316 KiB
8Hibás válasz1ms316 KiB
9Elfogadva1ms316 KiB
10Hibás válasz1ms316 KiB
11Hibás válasz1ms316 KiB
12Hibás válasz1ms320 KiB
subtask410/10
13Elfogadva3ms316 KiB
14Elfogadva3ms316 KiB
15Elfogadva3ms316 KiB
16Elfogadva4ms316 KiB
subtask516/16
17Elfogadva12ms480 KiB
18Elfogadva8ms316 KiB
19Elfogadva8ms316 KiB
20Elfogadva7ms480 KiB
21Elfogadva19ms500 KiB
subtask618/18
22Elfogadva3ms500 KiB
23Elfogadva3ms316 KiB
24Elfogadva3ms516 KiB
25Elfogadva3ms508 KiB
26Elfogadva8ms316 KiB
subtask70/37
27Elfogadva29ms568 KiB
28Elfogadva30ms552 KiB
29Időlimit túllépés542ms692 KiB
30Időlimit túllépés600ms920 KiB
31Időlimit túllépés575ms748 KiB
32Hibás válasz32ms564 KiB
33Hibás válasz134ms564 KiB
34Hibás válasz131ms564 KiB
35Hibás válasz136ms748 KiB
36Hibás válasz35ms568 KiB
37Hibás válasz82ms564 KiB
38Hibás válasz39ms564 KiB
39Hibás válasz391ms820 KiB
40Hibás válasz411ms824 KiB
41Hibás válasz499ms820 KiB
42Időlimit túllépés560ms676 KiB