[蓝桥杯2015决赛]方格填数

简介: [蓝桥杯2015决赛]方格填数

题目:[蓝桥杯2015决赛]方格填数


题目描述:

在2行5列的格子中填入1到10的数字。

要求:相邻的格子中的数,右边的大于左边的,下边的大于上边的。

如下图所示的2种,就是合格的填法。

请你计算一共有多少种可能的方案。

4.png

输出:

请输出该整数,不要输出任何多余的内容


题解:

用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;
}
相关文章
|
C++
2019 第十届蓝桥杯大赛软件赛决赛,国赛,C/C++大学B组题解
2019 第十届蓝桥杯大赛软件赛决赛,国赛,C/C++大学B组题解
263 0
|
4月前
【洛谷】P8707 [蓝桥杯 2020 省 AB1] 走方格
dp[1][j]=dp[i][1]=0 (因为每次只能向右或向下走,所以如果从(1,1)到第一行上所有的点的方案,只有水平向右走这一种。题目大意:现在有个人站在第 1 行第 1 列,要走到第 i 行第 j 列(每次只能向右或者向下走),如果行号和列号都是偶数,不能走入这一格中。因为不能走入行号和列号均为偶数的格子,所以当行号和列号均为偶数(也就是i%2==0&&j%2==0)时,dp[i][j]=0。因为我们已经考虑过了从(1,1)到第一行或者到第一列的情况,所以循环枚举时我们从(2,2)开始。
59 11
|
机器学习/深度学习 人工智能 算法
第十一届蓝桥杯大赛软件类决赛 C++ B组 题解(二)
第十一届蓝桥杯大赛软件类决赛 C++ B组 题解
137 0
|
人工智能 测试技术 C++
第十一届蓝桥杯大赛软件类决赛 C++ B组 题解(一)
第十一届蓝桥杯大赛软件类决赛 C++ B组 题解
192 0
|
Python
蓝桥杯-方格分割-python
蓝桥杯-方格分割-python
72 0
|
算法 测试技术
蓝桥杯2022年第十三届决赛真题-卡牌——二分法
蓝桥杯2022年第十三届决赛真题-卡牌——二分法
124 0
[蓝桥杯 2020 省 AB1] 走方格——动态规划
[蓝桥杯 2020 省 AB1] 走方格——动态规划
83 0
|
存储 C++
2020 第十一届蓝桥杯大赛软件赛决赛,国赛,C/C++大学B组题解
2020 第十一届蓝桥杯大赛软件赛决赛,国赛,C/C++大学B组题解
125 0