题目描述

检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行,每列,每条对角线(包括两条主对角线的所有对角线)上都至多有一个棋子。

列号

1 2 3 4 5 6

-------------------------

1 | | O | | | | |

-------------------------

2 | | | | O | | |

-------------------------

3 | | | | | | O |

-------------------------

4 | O | | | | | |

-------------------------

5 | | | O | | | |

-------------------------

6 | | | | | O | |

-------------------------

上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下:

行号 1 2 3 4 5 6

列号 2 4 6 1 3 5

这只是跳棋放置的一个解。请遍一个程序找出所有跳棋放置的解。并把它们以上面的序列方法输出。解按字典顺序排列。请输出前3个解。最后一行是解的总个数。

特别注意: 对于更大的N(棋盘大小N x N)你的程序应当改进得更有效。不要事先计算出所有解然后只输出,这是作弊。如果你坚持作弊,那么你登陆USACO Training的帐号将被无警告删除

输入

一个数字N (6 <= N <= 13) 表示棋盘是N x N大小的。

输出

前三行为前三个解,每个解的两个数字之间用一个空格隔开。第四行只有一个数字,表示解的总数。

样例输入

6

样例输出

2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4

题目最后说的我。。。嗯

跳棋的挑战 NO

N 皇后问题 YES

在N皇后问题的基础上保存状态

#include <bits/stdc++.h>
using namespace std;
int n, ans = 0, a[101][101];
bool bz[101], bz1[101], bz2[101];void dfs(int x)
{if (x > n){ans++;if (ans <= 3){for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++)if (a[i][j] > 0)printf("%d ", a[i][j]);}printf("\n");}}else{for (int i = 1; i <= n; i++){if (bz[i] == 0 && bz1[x + i] == 0 && bz2[x - i + n] == 0){bz[i] = 1;bz1[x + i] = 1;bz2[x - i + n] = 1;a[x][i] = i;dfs(x + 1);bz[i] = 0;bz1[x + i] = 0;bz2[x - i + n] = 0;a[x][i] = 0;}}}
}main()
{freopen("checker.in", "r", stdin);freopen("checker.out", "w", stdout);scanf("%d", &n);dfs(1);printf("%d", ans);return 0;
}

不写了不写了~

【USACO题库】1.5.4 Checker Challenge跳棋的挑战相关推荐

  1. 【USACO题库】3.4.4 Raucous Rockers“破锣摇滚”乐队 题解

    [USACO题库]3.4.4 Raucous Rockers"破锣摇滚"乐队  题解 你刚刚继承了流行的"破锣摇滚"乐队录制的尚未发表的N(1 <= N ...

  2. 【USACO题库】1.2.1 Milking Cows挤牛奶

    一开始认为过不了,后来交就AC了. 1007. [USACO题库]1.2.1 Milking Cows挤牛奶 (File IO): input:milk.in output:milk.out 题目描述 ...

  3. 【USACO题库】1.4.2 The Clocks时钟.TJ

    标题的简介: [USACO题库]1.4.2 The Clocks--Tj https://jzoj.net/junior/#contest/show/1232/11(下文题目描述还是原地址清楚) 考虑 ...

  4. 最简单的USACO,没有之一:【USACO题库】1.3.4 Prime Cryptarithm牛式

    欢迎收看: 保障电脑安全 拒绝编译错误 DEV-C++题解 今天来看一个炒鸡简单的USACO,没有之一. 题目描述 下面是一个乘法竖式,如果用我们给定的那几个数字来取代*,可以使式子成立的话,我们就叫 ...

  5. 【USACO题库】 动态规划 汇总(普及-/普及)

    数据结构提高是够用了=-=虽然树状数组没学 但是其他类问题只能打到普及 普及啊啊啊!!! 而且这边省选组都是什么仙人掌啊,什么系什么点对啊...感觉数据结构并没有什么用 (实际上很有用但我不会用就是了 ...

  6. 【USACO题库】3.2.4 Feed Ratios饲料调配

    这一题,有许多的细节要注意一下!特别是循环中的判断!先看一下代码: #include<cstdio> using namespace std; int a[4][4]; int main( ...

  7. 【图论】【最短路】【SPFA】【USACO题库】2.4.4 Bessie Come Home回家(jzoj 1274)

    Bessie Come Home回家 题目大意: 有n条路连接着一些牧场,每个牧场由'a-z'(没羊)和'A-Y'(有一头羊),问哪个有羊的牧场离'Z'最近 INPUT FORMAT 第 1 行: 整 ...

  8. 【USACO题库】3.2.3 Spinning Wheels纺车的轮子

    题目描述     一架纺车有五个纺轮(也就是五个同心圆),这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知位 ...

  9. 【USACO题库】1.1.4 Broken Necklace破碎的项链

    题目描述: 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=35000),珠子是随意安排的. 这里是 n=29 的二个例子: 1 2 1 2r b b r b r r b ...

最新文章

  1. [精]Odoo 8.0深入浅出开发教程-模块开发基础
  2. Microbiome:马铃薯疮痂病与土壤微生物组关系新进展
  3. 互联网经济与实体经济
  4. CPU time与WALL time
  5. 如何计算MP3总时长的问题(三)--对于变比特率MP3求总时长
  6. 圆通速递:2022年1月快递产品收入36.19亿元 同比增长20.09%
  7. 库克看下!罗永浩深夜再谈收购苹果:还需要点时间
  8. 团队计划(4.22)
  9. FM、LFM、AFM、NFM、DeepFM、 Deep Cross Network
  10. ESX中的虚拟机中安装虚拟机的实现
  11. python3调用企业微信api
  12. python 灰度图转rgb rgb转灰度之间的变化
  13. 华为 QOS服务质量基础知识总结
  14. 时域分析特征参数的计算代码(Matlab和Qt两种)
  15. Xcode运行报错The operation couldn’t be completed.
  16. Vue组件:做一个表情输入键盘
  17. oracle rac 关闭asm,11G rac的ASM无法关闭
  18. tortoiseGit管理的文件没有绿色红色等图标
  19. 关于电脑外设键盘的讲解
  20. 977.有序数组的平方

热门文章

  1. 时间加减计算器_考前急救!2019年注册会计师计算器使用技巧,不会你就out了...
  2. Java线程同步-模拟买票
  3. Python中jieba库的使用
  4. [转载]刘峰获“区块链60人”2020赋能中国区块链创新人物奖
  5. EDAS投会议论文遇见的问题及部分解决办法——总结
  6. 修改Element-ui表格样式
  7. 小样本学习之关系网络:让机器自己学习如何度量
  8. sundayplayer第一版本开放源代码
  9. 开源任务管理平台TaskManager介绍
  10. 两个相离圆上各取一点P、Q,求线段PQ中点M的轨迹。