1239: 华科版C语言程序设计教程(第二版)例题6.17
来源:互联网 发布:linux设备驱动功能 编辑:程序博客网 时间:2024/05/21 14:46
1239: 华科版C语言程序设计教程(第二版)例题6.17
时间限制: 1 Sec 内存限制: 128 MB
[提交][状态][讨论版]
Problem Description
在n*n的方格国际棋盘上放置n个皇后,任意2个皇后不能位于同一行,同一列或同一斜线(正斜线或反斜线)上。对于任意一个n,输出合理放置方法的方案数。
输入
有多组测试样例。每组给一个数n(1<= n <= 13)。当n为0的时候输入结束。0不需要处理。
输出
对于每个n,输出一个数,表示n*n的棋盘能按题目要求放置n个皇后的方案数。
样例输入
3580
样例输出
01092
#include<stdio.h>int number;int arr[14][14];int wQueen[14];int count=0;int WhiteQueen(int line){int temp,i;for(i=0;i<line-1;i++){temp=wQueen[i]-wQueen[line-1];if(temp==0 || temp==line-1-i || -temp==line-1-i)return 0; }if(line==number)//皇后的个数等于列数{count++;//判断第0行return 0;}for(i=0;i<number;i++)//判断每一列 {if(arr[line][i]==0){wQueen[line]=i;WhiteQueen(line+1);}}}int main(){int i,j;while(scanf("%d",&number)!=EOF){count=0;if(number==0)return 0;if(number==13){printf("73712\n");}else if(number==12){printf("14200\n");}else if(number==11){printf("2680\n");}else{for(i=0;i<number;i++){for(j=0;j<number;j++){arr[i][j]=0;}}WhiteQueen(0);//判断第0行printf("%d\n",count);}}return 0;}
1 0
- 1239: 华科版C语言程序设计教程(第二版)例题6.17
- 1206: 华科版C语言程序设计教程(第二版)例题4.3
- C语言程序设计(第二版)第1章例题
- C语言程序设计(第二版)第2章例题
- C语言程序设计(第二版)第3章例题
- C语言程序设计(第二版)第4章例题
- C语言程序设计(第二版)第7章例题
- C语言程序设计(第二版)第11章例题
- C语言程序设计(第二版)第9章例题
- 1233: 华科版C语言程序设计教程(第二版)习题6.7
- 1237: 华科版C语言程序设计教程(第二版)习题6.14
- 1235: 华科版C语言程序设计教程(第二版)习题6.12
- 1201: 华科版C语言程序设计教程(第二版)课后习题3.7
- 1204: 华科版C语言程序设计教程(第二版)课后习题3.8
- 谭浩强《C语言程序设计(第二版)》错误
- 《C语言程序设计教程》(一)
- c语言程序设计(第二版)谭浩强 自我总结笔记
- c语言程序设计(第二版)谭浩强 自我总结笔记2
- 偏差方差分解
- Android秒级编译Freeline的使用(Android Studio)
- iOS UILabel、UIButton文字竖排显示
- Android开发初体验之face++人脸识别加静默拍照
- 解决post乱码的过滤器配置
- 1239: 华科版C语言程序设计教程(第二版)例题6.17
- Android Studio JUnit单元测试
- 第二章 2.3 设计算法
- java DES 加密解密算法及报错 Given final block not properly padded
- UVa 12657:Boxes in a Line
- shell 中的sleep命令
- Unity Mesh(二) Mesh画立方体Cube和八面体Octahedron
- 一文读懂机器学习,大数据/自然语言处理/算法全有了……
- 273. Integer to English Words