[蓝桥杯2015决赛]方格填数
Posted 牛哄哄的柯南
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[蓝桥杯2015决赛]方格填数相关的知识,希望对你有一定的参考价值。
题目:[蓝桥杯2015决赛]方格填数
题目描述:
在2行5列的格子中填入1到10的数字。
要求:相邻的格子中的数,右边的大于左边的,下边的大于上边的。
如下图所示的2种,就是合格的填法。
请你计算一共有多少种可能的方案。
输出:
请输出该整数,不要输出任何多余的内容
题解:
用next_permutation全排列,然后每个组合判断下,计下数就行了。
代码:
#include <iostream>
#include <algorithm>
using namespace std;
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int ans;
bool check() {
if (a[1] > a[0] && a[2] > a[1] && a[3] > a[2] &&
a[4] > a[3] && a[6] > a[5] && a[7] > a[6] &&
a[8] > a[7] && a[9] > a[8] && a[5] > a[0] &&
a[6] > a[1] && a[7] > a[2] && a[8] > a[3] &&
a[9] > a[4]) {
return true;
}
return false;
}
int main() {
do {
if (check())
ans++;
} while (next_permutation(a, a + 10));
cout << ans << endl;
return 0;
}
42
看完如果对你有帮助,感谢点赞支持!
如果你是电脑端,看到右下角的 “一键三连” 了吗,没错点它[哈哈]
加油!
共同努力!
Keafmd
以上是关于[蓝桥杯2015决赛]方格填数的主要内容,如果未能解决你的问题,请参考以下文章