【蓝桥杯】 2015决赛 方格填数(暴力全排列)

题目描述

在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;
}

猜你喜欢

转载自blog.csdn.net/weixin_45260385/article/details/109370957