hdu 2553 n皇后问题
来源:互联网 发布:淘宝好评评语怎么删除 编辑:程序博客网 时间:2024/05/17 21:44
#include<stdio.h>#include<string.h>#define max 10int map[max][max];int palce[max];int ans[max];/*表示这一行的皇后放在哪一列*/int num;int check(int t,int x,int n){ int i,j,k; int flag=1; for(i=0;i<x;i++){if(map[t][i]==1){flag=0;return flag;} } for(j=0;j<t;j++){ if(map[j][x]==1) { flag=0; return flag; } } for(k=0;(t-k>=0)&&(x-k)>=0;k++){ if(map[t-k][x-k]==1){ flag=0; return flag; } } /* 对角线有两边 */ for(k=0;(t-k>=0)&&(x+k)<n;k++){ if(map[t-k][x+k]==1) { flag=0; return flag; } }return flag;}void dfs(int t,int n){/*n表示总共有多少个皇后*/int tempx,tempy;if(t==n){num++;/*for(int i=0;i<n;i++){printf("%d ",palce[i]);}printf("\n");*/return ;}for(int i=0;i<n;i++){if(check(t,i,n)==1){palce[t]=i;map[t][i]=1;dfs(t+1,n);map[t][i]=0;}}/*这里应该是走不下去了*/return ;}int main(){int n;/*n=5;map[1][2]=1;int a=check(2,1,n);printf("%d\n",a);*//*这个题目会超时所以先把所有的结果保存起来比较好while(scanf("%d",&n)!=EOF){if(n==0)break;num=0;memset(map,0,sizeof(map));dfs(0,n);printf("%d\n",num);}*/for(int i=1;i<=10;i++){num=0;memset(map,0,sizeof(map));dfs(0,i);ans[i]=num;}while(scanf("%d",&n)!=EOF){if(n==0)break;printf("%d\n",ans[n]);}return 0;}
0 0
- HDU 2553 N皇后问题
- HDU 2553 N皇后问题
- HDU 2553-N皇后问题
- hdu 2553 N皇后问题
- HDU-2553-N皇后问题
- Hdu 2553 N皇后问题
- hdu 2553 N皇后问题
- hdu 2553 N皇后问题
- HDU 2553 N皇后问题
- HDU--2553 -- N皇后问题
- hdu-2553--N皇后问题
- 2553--Hdu--N皇后问题
- N皇后问题 hdu 2553
- HDU 2553 N皇后问题
- hdu 2553 n皇后问题
- HDU 2553 N皇后问题
- hdu-2553-N皇后问题
- HDU-2553-N皇后问题
- Linux网络防火墙【4】 Linux内核网络 iptables 之filter分析
- matlab 2013b for linux
- Java类的继承和覆盖
- windows下matlab, R 等语言的批处理
- 泰克将举办全新WiFI及射频测试在线技术讲座
- hdu 2553 n皇后问题
- 插入排序(扫盲)
- 网站做SEO一定得建设外接?这是一个误区
- Java类的多态
- 水的一米的水仙花
- mark
- VS MONO Android开发控件悬浮显示提醒 自定义背景颜色、字体、数字颜色、摆放位置
- cocos2d-x 2.0通过CCAnimation实例获取CCSpriteFrame
- linux下C语言utf-8编码与gb2312转换代码---libiconv