168172025-05-13 17:47:48horkaJáték a síkoncpp17Runtime error 19/10057ms7136 KiB
#include <bits/stdc++.h>
using namespace std;
int n;
const int c=20;
bool dp[c][1<<c];
bool vis[c][1<<c];
vector<int> adj[c];
bool memo(int cs, int mask)
{
	if(vis[cs][mask]) return dp[cs][mask];
	vis[cs][mask]=1;
	for(int &i:adj[cs])
		if(((1<<i)&mask)==0 && !memo(i,mask^(1<<i))) dp[cs][mask]=1;
	return dp[cs][mask];
}
int main() {
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin>>n;
	vector<array<int, 2>> v(n);
	for(auto &[a,b]:v) cin>>a>>b;
	for(int i=0; i<n; i++)
		for(int j=0; j<n; j++)
			if(abs(v[i][0]-v[j][0])+abs(v[i][1]-v[j][1])==1) adj[i].push_back(j);
	vector<array<int, 2>> ans;
	for(int i=0; i<n; i++)
		if(!memo(i,(1<<i))) ans.push_back(v[i]);
	cout<<(int)ans.size()<<"\n";
	for(auto &[a,b]:ans)
		cout<<a<<" "<<b<<"\n";
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Runtime error4ms748 KiB
subtask29/9
3Accepted1ms316 KiB
4Accepted1ms316 KiB
subtask310/10
5Accepted1ms564 KiB
6Accepted1ms564 KiB
7Accepted3ms2612 KiB
8Accepted7ms5996 KiB
9Accepted3ms2100 KiB
10Accepted4ms2872 KiB
11Accepted2ms820 KiB
12Accepted8ms7136 KiB
subtask40/10
13Runtime error3ms564 KiB
14Runtime error4ms564 KiB
15Runtime error4ms564 KiB
16Runtime error4ms564 KiB
subtask50/16
17Runtime error4ms564 KiB
18Runtime error4ms564 KiB
19Runtime error4ms564 KiB
20Runtime error4ms564 KiB
21Runtime error4ms748 KiB
subtask60/18
22Runtime error4ms564 KiB
23Runtime error4ms820 KiB
24Runtime error4ms824 KiB
25Runtime error4ms820 KiB
26Runtime error4ms564 KiB
subtask70/37
27Runtime error57ms564 KiB
28Runtime error57ms472 KiB
29Runtime error57ms820 KiB
30Runtime error57ms820 KiB
31Runtime error57ms692 KiB
32Runtime error57ms820 KiB
33Runtime error10ms564 KiB
34Runtime error10ms772 KiB
35Runtime error10ms568 KiB
36Runtime error57ms820 KiB
37Runtime error57ms820 KiB
38Runtime error57ms916 KiB
39Runtime error57ms820 KiB
40Runtime error57ms748 KiB
41Runtime error57ms824 KiB
42Runtime error57ms820 KiB