168172025-05-13 17:47:48horkaJáték a síkoncpp17Futási hiba 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";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Futási hiba4ms748 KiB
subtask29/9
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
subtask310/10
5Elfogadva1ms564 KiB
6Elfogadva1ms564 KiB
7Elfogadva3ms2612 KiB
8Elfogadva7ms5996 KiB
9Elfogadva3ms2100 KiB
10Elfogadva4ms2872 KiB
11Elfogadva2ms820 KiB
12Elfogadva8ms7136 KiB
subtask40/10
13Futási hiba3ms564 KiB
14Futási hiba4ms564 KiB
15Futási hiba4ms564 KiB
16Futási hiba4ms564 KiB
subtask50/16
17Futási hiba4ms564 KiB
18Futási hiba4ms564 KiB
19Futási hiba4ms564 KiB
20Futási hiba4ms564 KiB
21Futási hiba4ms748 KiB
subtask60/18
22Futási hiba4ms564 KiB
23Futási hiba4ms820 KiB
24Futási hiba4ms824 KiB
25Futási hiba4ms820 KiB
26Futási hiba4ms564 KiB
subtask70/37
27Futási hiba57ms564 KiB
28Futási hiba57ms472 KiB
29Futási hiba57ms820 KiB
30Futási hiba57ms820 KiB
31Futási hiba57ms692 KiB
32Futási hiba57ms820 KiB
33Futási hiba10ms564 KiB
34Futási hiba10ms772 KiB
35Futási hiba10ms568 KiB
36Futási hiba57ms820 KiB
37Futási hiba57ms820 KiB
38Futási hiba57ms916 KiB
39Futási hiba57ms820 KiB
40Futási hiba57ms748 KiB
41Futási hiba57ms824 KiB
42Futási hiba57ms820 KiB