第七届蓝桥杯大赛个人赛省赛(软件类)A组第三题

方格填数
如下的10个格子
±-±-±-+
| | | |
±-±-±-±-+
| | | | |
±-±-±-±-+
| | | |
±-±-±-+
(如果显示有问题,也可以参看【图1.jpg】)
填入0~9的数字。要求:连续的两个数字不能相邻。
(左右、上下、对角都算相邻)
一共有多少种可能的填数方案?
请填写表示方案数目的整数。
在这里插入图片描述
代码:
思路:(暴力解决)

#include <iostream>
using namespace std;
int main(int argc, char** argv) {
	int i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,n=0;
	for(i1=0;i1<=9;i1++) 
	for(i2=0;i2<=9;i2++) 
	for(i3=0;i3<=9;i3++) 
	for(i4=0;i4<=9;i4++) 
	for(i5=0;i5<=9;i5++) 
	for(i6=0;i6<=9;i6++) 
	for(i7=0;i7<=9;i7++) 
	for(i8=0;i8<=9;i8++) 
	for(i9=0;i9<=9;i9++) 
	for(i10=0;i10<=9;i10++) 
	{
	if(i2!=i1 &&i3!=i1 && i3!=i2&&i4!=i3 && i4!=i2&& i4!=i1&&
	i5!=i1&& i5!=i2&&i5!=i3&&i5!=i4&&i6!=i1&&i6!=i2&&i6!=i3&&i6!=i4&&i6!=i5
&&i7!=i1&&i7!=i2&&i7!=i3&&i7!=i4&&i7!=i5&&i7!=i6&&i8!=i1&&i8!=i2&&i8!=i3&&i8!=i4&&i8!=i5&&i8!=i6&&i8!=i7
	&&i9!=i1&&i9!=i2&&i9!=i3&&i9!=i4&&i9!=i5&&i9!=i6&&i9!=i7&&i9!=i8
	&&i10!=i1&&i10!=i2&&i10!=i3&&i10!=i4&&i10!=i5&&i10!=i6&&i10!=i7&&i10!=i8&&i10!=i9
	 )
	 {
	if(i1==i2+1||i1==i4+1||i1==i5+1||i1==i6+1
	||i2==i3+1||i2==i5+1||i2==i6+1||i2==i7+1
	||i3==i6+1||i3==i7+1
	||i4==i5+1||i4==i8+1||i4==i9+1
	||i5==i6+1||i5==i9+1||i5==i10+1||i5==i8+1
	||i6==i7+1||i6==i9+1||i6==i10+1
	||i7==i10+1
	||i8==i9+1||
	i9==i10+1||
	i1==i2-1||i1==i4-1||i1==i5-1||i1==i6-1
	||i2==i3-1||i2==i5-1||i2==i6-1||i2==i7-1
	||i3==i6-1||i3==i7-1
	||i4==i5-1||i4==i8-1||i4==i9-1
	||i5==i6-1||i5==i9-1||i5==i10-1||i5==i8-1
	||i6==i7-1||i6==i9-1||i6==i10-1
	||i7==i10-1
	||i8==i9-1||
	i9==i10-1
	)
	break;
else
	{
	n++;
}
}
}
cout<<n<<endl;
	return 0;
}

答案:1580

猜你喜欢

转载自blog.csdn.net/qq_31089125/article/details/85118913
今日推荐