题目描述
在2行5列的格子中填入1到10的数字。
要求:相邻的格子中的数,右边的大于左边的,下边的大于上边的。
如下图所示的2种,就是合格的填法。
请你计算一共有多少种可能的方案。
代码:
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int a[10]={1,2,3,4,5,6,7,8,9,10};
int main()
{
// int ans=0;
//
// do{
// int site[2][5];
// for(int i=0;i<5;i++) site[0][i]=a[i]; //第一行
// for(int j=5;j<10;j++) site[1][j-5]=a[j]; //第二行
//
// int flag=0;
// for(int i=1;i<5;i++)
// {
// if(site[0][i]<=site[0][i-1] || site[1][i]<=site[1][i-1]) //两行:右边比左边大,否则break
// {
// flag=1;
// break;
// }
// }
//
// if(flag) continue;
//
// for(int i=0;i<5;i++)
// {
// if(site[1][i]<=site[0][i]) //下面比上面大,否则break
// {
// flag=1;
// break;
// }
// }
//
// if(!flag) ans++; // 一种情况
// }while(next_permutation(a,a+10)); //全排列
//
// cout<<ans;
cout<<42;
return 0;
}