【2016 蓝桥杯省赛C语言B组 第六题 方格填数】+ 快排
来源:互联网 发布:不用网络直接玩的游戏 编辑:程序博客网 时间:2024/05/06 16:15
方格填数
如下的10个格子
+–+–+–+
| 0 |1 |2 |
+–+–+–+–+
| 3| 4 |5 | 6 |
+–+–+–+–+
| 7 | 8 |9 |
+–+–+–+
(如果显示有问题,也可以参看【图1.jpg】)
填入0~9的数字。要求:连续的两个数字不能相邻。
(左右、上下、对角都算相邻)
一共有多少种可能的填数方案?
请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
~1580,快拍,然后特判
AC代码:
#include<cstdio>#include<cmath>#include<algorithm>using namespace std;int main(){ int a[10] = {0,1,2,3,4,5,6,7,8,9}; int num = 0; do{ int ok = 1; if(abs(a[0] - a[1]) == 1 || abs(a[0] - a[3]) == 1 || abs(a[0] - a[4]) == 1 || abs(a[0] - a[5]) == 1) ok = 0; if(abs(a[1] - a[2]) == 1 || abs(a[1] - a[4]) == 1 || abs(a[1] - a[5]) == 1 || abs(a[1] - a[6]) == 1) ok = 0; if(abs(a[2] - a[5]) == 1 || abs(a[2] - a[6]) == 1) ok = 0; if(abs(a[3] - a[4]) == 1 || abs(a[3] - a[7]) == 1 || abs(a[3] - a[8]) == 1) ok = 0; if(abs(a[4] - a[5]) == 1 || abs(a[4] - a[7]) == 1 || abs(a[4] - a[8]) == 1 || abs(a[4] - a[9]) == 1) ok = 0; if(abs(a[5] - a[6]) == 1 || abs(a[5] - a[8]) == 1 || abs(a[5] - a[9]) == 1) ok = 0; if(abs(a[6] - a[9]) == 1) ok = 0; if(abs(a[7] - a[8]) == 1) ok = 0; if(abs(a[8] - a[9]) == 1) ok = 0; if(ok) num++; }while(next_permutation(a,a + 10)); printf("%d\n",num); return 0;}
0 0
- 【2016 蓝桥杯省赛C语言B组 第六题 方格填数】+ 快排
- 2016 蓝桥杯省赛C语言B组 第六题 方格填数
- 2016-蓝桥杯省赛-C语言大学B组_方格填数_【DFS&全排列】
- 第七届蓝桥杯省赛C语言B组第6题 方格填数
- 2016蓝桥杯c/c++ B组 省赛 方格填数
- 2016蓝桥杯C/C++省赛B组第6题 方格填数 DFS
- 蓝桥杯-第七届Java语言B组-方格填数
- 蓝桥杯JAVA语言B组_方格填数
- 蓝桥杯 2016-省赛-C语言大学A组-3题方格填数
- 2016蓝桥杯省赛 方格填数
- 2016年蓝桥杯C语言大学A组题目3--方格填数
- 第七届C/C++B-方格填数 DFS
- 蓝桥杯省赛 方格填数C/C++
- 2016年第七届蓝桥杯C/C++A组第三题---方格填数
- 蓝桥杯_2016年第七届C/C++B组—6.方格填数 【DFS】
- 第七届蓝桥杯—第六题||方格填数
- 2016年第七届蓝桥杯C/C++程序设计本科B组省赛 方格填数(结果填空)
- 2016年第七届蓝桥杯C/C++程序设计本科B组省赛-方格填数(结果填空)
- Android二维码扫码ZXing,barcodescanner和BGAQRCode-Android技术比较
- java线程锁的了解
- MenuItem遇到类
- 多态
- faster rcnn中train.py
- 【2016 蓝桥杯省赛C语言B组 第六题 方格填数】+ 快排
- BZOJ 3483 SGU505 Prefixes and suffixes(询问在线版) Hash,预处理,神做法
- linux下的粘滞位
- 重做日志损坏之后的处理
- Bi-shoe and Phi-shoe
- javascript (function(){})()
- html5+css3实现上拉和下拉刷新
- 多态1
- Static 修饰符