蓝桥杯 算法训练 王,后传说
2018-01-04 16:30
239 查看
题目:
算法训练 王、后传说
时间限制:1.0s 内存限制:256.0MB
问题描述
地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。
看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。
所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死......
现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边上,占用的格子可能不到9个)。当然,皇后也不会攻击国王。
现在知道了国王的位置(x,y)(国王位于第x行第y列,x,y的起始行和列为1),请问,有多少种方案放置n个皇后,使她们不能互相攻击。
输入格式
一行,三个整数,皇宫的规模及表示国王的位置
输出格式
一个整数,表示放置n个皇后的方案数
样例输入
8 2 2
样例输出
10
数据规模和约定
n<=12
题解:遍历一遍
代码:
算法训练 王、后传说
时间限制:1.0s 内存限制:256.0MB
问题描述
地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横、坚、斜线位置。
看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地。各皇后都有自己的势力范围,但也总能找到相安无事的办法。
所有中国人都知道,皇权神圣,伴君如伴虎,触龙颜者死......
现在有一个n*n的皇宫,国王占据他所在位置及周围的共9个格子,这些格子皇后不能使用(如果国王在王宫的边上,占用的格子可能不到9个)。当然,皇后也不会攻击国王。
现在知道了国王的位置(x,y)(国王位于第x行第y列,x,y的起始行和列为1),请问,有多少种方案放置n个皇后,使她们不能互相攻击。
输入格式
一行,三个整数,皇宫的规模及表示国王的位置
输出格式
一个整数,表示放置n个皇后的方案数
样例输入
8 2 2
样例输出
10
数据规模和约定
n<=12
题解:遍历一遍
代码:
#include<iostream> #include<cstring> #include<string> #include<cmath> #include<algorithm> int a[200][200],flag[10000]; int n,x1,y,cont=0; using namespace std; void site(int x) { for(int i=0;i<x-1;i++) { int temp=(flag[i]-flag[x-1]); if(temp==0||fabs(temp)==fabs(x-1-i)||a[x-1][flag[x-1]]==1) return ; } if(x==n) { cont++; return; } for(int j=0;j<n;j++) { if(a[x][j]==0) { flag[x]=j; site(x+1); } } } int main() { cin>>n>>x1>>y; sizeof(flag,0,sizeof(flag)); sizeof(a,0,sizeof(a)); for(int i=x1-2;i<=x1;i++) { for(int j=y-2;j<=y;j++) { if(i>=0&&j>=0) a[i][j]=1; } } /*for(int i=0;i<n;i++) { for(int j=0;j<n;j++) cout<<a[i][j]<<" "; cout<<endl; }*/ site(0); cout<<cont<<endl; return 0; }
相关文章推荐
- 蓝桥杯-算法训练- 王、后传说
- 算法训练 王、后传说 蓝桥杯
- 蓝桥杯ALGO-125算法训练 王、后传说(回溯、递归)
- 蓝桥杯 - 算法训练 王、后传说 C语言实现
- 蓝桥杯 算法训练 校门外的树 (贪心线段排序)
- 蓝桥杯算法训练 出现次数最多的整数、
- 蓝桥杯 算法训练 2的次幂表示
- 蓝桥杯 算法训练 2的次幂表示
- 蓝桥杯 算法训练 区间k大数查询
- 蓝桥杯- 算法训练 最短路
- 蓝桥杯 算法训练 2的次幂表示
- 蓝桥杯 ALGO-113 算法训练 数的统计
- 蓝桥杯算法训练——最小乘积(基本型)
- 蓝桥杯 ALGO-91 算法训练 Anagrams问题
- 蓝桥杯 算法训练 最大的算式(DP)
- 蓝桥杯 - 算法训练 和为T C语言实现
- 蓝桥杯 ALGO-140 算法训练 P1101
- 蓝桥杯 算法训练 k好数(动态规划)
- 蓝桥杯 ALGO-42 算法训练 送分啦
- [置顶] 蓝桥杯算法训练题集