avatar
h*g
2
zz:
原文:
http://blog.csdn.net/njnu_mjn/archive/2010/04/04/5449098.aspx
八皇后问题(C++) 收藏
1 、问题描述: 在一个8*8 的棋盘上放置8 个皇后,不允许任何两个皇后在棋盘的同
一行、同一列和同一对角线上。
2 、关键字: 递归、上溯
3 、技巧:
1 )、
经观察发现,对8 x 8 的二维数组上的某点a[i][j](0<=i,j<=7)
其主对角线(即左上至右下)上的每个点的i-j+7 的值(范围在(0,14) )均相等;
其从对角线(即右上至左下)上的每个点的i+j 的值(范围在(0,14) )均相等;
且每个主对角线之间的i-j+7 的值均不同,每个从对角线之间的i-j+7 的值亦不同;
如a[3][4]:
主:3-4+7=6
从:3+4=7
因此可设两个数组b[15],c[15] 分别表示主、从对角线是否安全
(为1 表示有皇后,不安全;为0 表示安全)
2 )、
每行有且仅有一个皇后:
每i 个皇后放在每i 行(0<=i<=7)
void eightQueens( int line );
4 、源码( C++ )
//eight_queens.cpp
#include
using namespace std;
int data[ 8 ][ 8 ]; //chess(double dimensional array)
int a[ 8 ]; //column( 列)
int b[ 15 ]; // 主对角线( 左上至右下)
int c[ 15 ]; // 从对角线( 右上至左下)
int count = 0;
void eightQueens( int );
void output( const int [][ 8 ], int );
int main()
{
int i, j;
for( i = 0; i < 15; ++i ) // 主、从对角线
b[ i ] = c[ i ] = 0; // 表示安全
for( i = 0; i < 8; ++i )//chess
{
a[ i ] = 0; //i 列安全
for( j = 0; j < 8; ++j )
data[ i ][ j ] = 0;
}
eightQueens( 0 );
cout << "\ncount = " << count << endl;
return 0;
}
void eightQueens( int line )
{
if( 8 == line )// 八个皇后安置就位,输出
{
output( data, 8 );
cout << endl;
return;
}
for( int column = 0; column < 8; ++column )
{
if( 0 == a[ column ] && 0 == b[ line - column + 7 ] && 0 == c[ line +
column ] )
{
data[ line ][ column ] = 1; //
安置皇后
a[ column ] = 1; // 此列被占
b[ line - column + 7 ] = 1; // 主对角线被占
c[ line + column ] = 1; // 从对角线被占
eightQueens( line + 1 ); // 下一个皇后
// 重置
data[ line ][ column ] = 0;
a[ column ] = 0;
b[ line - column + 7 ] = 0;
c[ line + column ] = 0;
}
}
}
//output chess
void output( const int data[][ 8 ], int size )
{
for( int i = 0; i < size; ++i )
{
for( int j = 0; j < size; ++j )
cout << data[ i ][ j ] << ' ';
cout << endl;
}
++count;
}
5 、性能:
时间复杂度O(n^2)
6 、测试
环境:VC++6.0
avatar
l*n
3
我刚efile I-140,现在在填I-907,两个问题不清楚,请教:
(一).问填表人是:
(1)Are the petitioner who is filing or has filed a petition eligible for
premuum processing?
(3)Are the applicant who is filing or has filed an application eligible
for premuum processing
这两个选项有什么区别呀?
(二)information about request
1. Form number of related petition/application
2. Receipt number of related petition/application
3. classification/eligibility requested.
4. petitioner/applicant in the relating case
5. Beneficiary in the relating case
是不是1填我刚刚efile I-140后得到的那个什么条形码号码?
2不填
3填I-140,还是填EB1a啊?
4和5都填我自己的名字,对吧?
问题较多,多谢大家!
avatar
p*y
4
很喜欢新鲜的百合根煮水或煮粥喝。请问哪一种百合是用来吃根的?多谢!
avatar
E*e
5
4T的貌似只有他和日立的review还能看,比WD强多了,但是希捷名声好像不太行?
avatar
h*d
6
适当敦促,再不行就放弃。毕竟有句话,“师傅请进门,修行靠个人”。

【在 s********p 的大作中提到】
: 对于懒惰喜欢拖沓的学生怎么办?
avatar
G*g
7
不止吧。N^N
avatar
l*n
8
第一个问题已经解决:最好填后面那个
大家帮看看第二个问题!
多谢!!!
avatar
g*e
9
tiger lily
avatar
E*e
10
NAS里插了一块日立,想买个其他牌子的,又不敢要WD,红盘review太烂了

【在 E***e 的大作中提到】
: 4T的貌似只有他和日立的review还能看,比WD强多了,但是希捷名声好像不太行?
avatar
A*0
11
本科生还是研究生?本科生年纪小,可以多敦促一下。研究生都老大不小了,爱咋咋地
,不行就开掉。

【在 s********p 的大作中提到】
: 对于懒惰喜欢拖沓的学生怎么办?
avatar
a*m
12
n!
avatar
T*4
13
根挖吃了,是不是就没有了呢,来年得重新种?还是挖一部分根,剩下的还能继续保持
苗活着来年开花?

【在 g***e 的大作中提到】
: tiger lily
avatar
n*t
14
红盘烂?
呵呵,随便GOOGLE一下,希捷至少烂10倍
avatar
s*p
15
博士生。现在招好学生不容易啊。怎么对待有能力但懒惰的学生呢?如果都开了活就没
人做了。

【在 A****0 的大作中提到】
: 本科生还是研究生?本科生年纪小,可以多敦促一下。研究生都老大不小了,爱咋咋地
: ,不行就开掉。

avatar
g*e
16
大的吃,小的留种。一两个月前游子秀过。

【在 T*******4 的大作中提到】
: 根挖吃了,是不是就没有了呢,来年得重新种?还是挖一部分根,剩下的还能继续保持
: 苗活着来年开花?

avatar
E*e
17
到现在也找不到几个4T NAS盘的可靠性对比啊,希捷3T比较灾难但是4T貌似还好啊?

【在 n***t 的大作中提到】
: 红盘烂?
: 呵呵,随便GOOGLE一下,希捷至少烂10倍

avatar
T*s
18
你帮学生做啊

【在 s********p 的大作中提到】
: 博士生。现在招好学生不容易啊。怎么对待有能力但懒惰的学生呢?如果都开了活就没
: 人做了。

avatar
w*8
21
懒惰+拖沓,基本没救。如果给了很多机会,还是不改,那就只能跟他说bye,good
luck了。留着也会影响整个组的士气,让你生气无奈。
avatar
d*s
22
tiger lily有好几种颜色,都是可以吃的还是只有橙红色的可以?

【在 g***e 的大作中提到】
: tiger lily
avatar
E*e
23
蛋蛋上Red的review大半差评啊,怎么回事?

【在 d*******3 的大作中提到】
: WD Red还是很不错的,至少比希捷强很多倍,最好的还是日立
: https://www.backblaze.com/blog/best-hard-drive/

avatar
a*8
24
做研究最重要的是对科学的passion,动力加兴趣。懒惰拖沓的学生有可能是真懒,也
可能是人并不懒,但是对自己做的事情根本没兴趣--所以懒得做。不管哪种情况基本
都是不负责的人,但凡有责任心,也不会说安排的事情不给做。有的时候,有得学生就
是长期没有成果,疲掉了,自己都没信心,心理上放任逃避。好好和学生谈一下,从希
望她/他好的角度聊,不适合,完全可以拿了master毕业早些工作,不要浪费光阴在费
心费力的ph.d. program上。如果是因为frustration看不到希望所以懒,那就心理上鼓
励,告诉学生最后一次机会,如果能改就留下来,否则好合好散。一定记得有的时候劝
不合适读博士的学生离开对导师对学生都不见得是坏事。明明在年轻最有创造力的时候
浪费光阴还不改变才是真的害自己。

【在 s********p 的大作中提到】
: 对于懒惰喜欢拖沓的学生怎么办?
avatar
p*y
25
多谢楼上回复的各位大侠!
同问这个。

【在 d*****s 的大作中提到】
: tiger lily有好几种颜色,都是可以吃的还是只有橙红色的可以?
avatar
E*e
26
感觉是蛋蛋不知从哪搞了一批歪货,去相机店买一个吧
avatar
J*d
27
Take him out for a nice dinner, once in a while.

【在 s********p 的大作中提到】
: 对于懒惰喜欢拖沓的学生怎么办?
avatar
d*3
28
你仔细看蛋上的评价很多都是针对什么包装啊之类的,不全是对硬盘可靠性本身的。再
说就凭蛋一家的评价才能有多少啊

【在 E***e 的大作中提到】
: 蛋蛋上Red的review大半差评啊,怎么回事?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。