洛谷P1219

原创 2018年04月17日 20:52:49

题目链接:八皇后



我们通过观察可以看出来,对于Q点,行和列都很好处理,关键是 斜 较难处理。对于 / 这种倾斜,我们发现 纵坐标 + 横坐标 是一个定值! 对于  \  纵坐标 - 横坐标 为定值!而且我们可以发现对于 \ 和 /  控制的不同的对角线的值都是唯一确定的,只用一个数组存就可以!

#include<iostream>
#include<cstdio>
using namespace std;
int a[4][233333];
int c[233333];
int n,ans;
void dfs(int k)
{
	for(int i=1;i<=n;i++)
	{
		if(!a[1][i]&&!a[2][i+k]&&!a[3][n+1-k+i])
		{
			if(k == n)
			{
				ans ++;
				c[k] = i;
				if(ans<=3)
				{
					for(int i=1;i<n;i++)
					printf("%d ",c[i]);
					printf("%d\n",c[n]);
				}
				return ;
			}
			else {
					c[k] = i;
					a[1][i] = a[2][i+k] = a[3][n+1-k+i] = true;
					dfs(k+1);
					a[1][i] = a[2][i+k] = a[3][n+1-k+i] = false;
			}
		}
	}
}
int main()
{
	scanf("%d",&n);
	dfs(1);
	printf("%d\n",ans);
	return 0;
} 


版权声明:我们只做代码的搬运工 ~ ~ https://blog.csdn.net/lizhiwei2017/article/details/79980543

Delphi的BUGS之我见

 下面是本人在Delphi实际的开发中发现的问题,希望能同大家一起交流。 1、TDateTimePicker的错误TDateTimePicker控件在读写日期时有很多错误,主要是日期不能及时刷新。随便...
  • Hank
  • Hank
  • 2002-12-13 09:07:00
  • 1083

洛谷 P1219 八皇后 (dfs)

题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以...
  • h1021456873
  • h1021456873
  • 2017-05-23 00:33:58
  • 178

洛谷 p1219 八皇后

洛谷 p1219 八皇后 1.深度优先算法应是手到擒来,上手编码,测试通过,提交,87分,最有一个测试点TLE. 附上代码: #include #include #include i...
  • mrcrack
  • mrcrack
  • 2017-03-26 09:47:19
  • 380

洛谷 p1219题解 八皇后

第一道AK的深搜题 其实这道题也不是很难,想到深搜就很方便了,唯一一个难点是如何标记斜方向上不能放棋子的位置。 但其实也很简单,其实如果你学过初中的一次函数就知道如何解决了。以下是思路: ...
  • qq_28753451
  • qq_28753451
  • 2018-01-28 21:08:14
  • 42

洛谷 P1219 八皇后

题目描述检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2 4 6 1 3 5...
  • Gx_Man_VIP
  • Gx_Man_VIP
  • 2017-01-13 11:29:03
  • 202

洛谷p1219 八皇后问题

题目描述检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2 4 6 1 3 5...
  • qq_32734731
  • qq_32734731
  • 2017-04-03 20:11:14
  • 237

P1219 八皇后

深搜第一题
  • ivy_uu
  • ivy_uu
  • 2017-01-02 11:41:07
  • 168

洛谷 P1219 ---- 八皇后

题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列2 4 6...
  • qq_39630587
  • qq_39630587
  • 2018-03-29 18:34:59
  • 8

洛谷p1219 八皇后

题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以...
  • qq_32734731
  • qq_32734731
  • 2016-10-12 21:37:46
  • 144
收藏助手
不良信息举报
您举报文章:洛谷P1219
举报原因:
原因补充:

(最多只允许输入30个字)