捞霸王猴样例WA球条
查看原帖
捞霸王猴样例WA球条
486727
IaLWH楼主2024/8/9 11:28
#include<cstdio>
#define xrr x+j*dx[i]
#define yrr y+j*dy[i]
int n;
const int dx[8]={0,1,1,1,0,-1,-1,-1},dy[8]={1,1,0,-1,-1,-1,0,1};
int v[20][20];

int dfs(int x,int y){
	int ans=0;
	v[x][y]++;
	for(int i=0;i<8;i++)
		for(int j=1;xrr>=0&&xrr<n&&yrr>=0&&yrr<n;j++)
			v[xrr][yrr]++;
		
	for(int i=0;i<n;i++){
		if(x+1>=n)return 1;
		if(v[x+1][i])continue;
		ans+=dfs(x+1,i);
	}
	v[x][y]--;
	for(int i=0;i<8;i++)
		for(int j=1;xrr>=0&&xrr<n&&yrr>=0&&yrr<n;j++)
			v[xrr][yrr]--;
	return ans;
}
int main(){
	int n,ans=0;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
		ans+=dfs(0,i);
	printf("%d",ans);
	return 0;
}

只打算输出解的总数,然后样例没过

2024/8/9 11:28
加载中...