第七屆藍橋杯大賽個人賽省賽(軟體類)A組第三題
阿新 • • 發佈:2018-12-20
方格填數
如下的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