1 条题解
-
0
C :
#include<stdio.h> #define N 15 //使用define不需要加分号 int a[N]; int book[N]; void dfs(int step) { int i; if(step == 1 || step == 2 || step == 12) { dfs(step+1); return ; } if(step==13) { int t[6]; t[0] = a[1] + a[3] + a[6] + a[8]; t[1] = a[1] + a[4] + a[7] + a[11]; t[2] = a[2] + a[3] + a[4] + a[5]; t[3] = a[2] + a[6] + a[9] + a[12]; t[4] = a[8] + a[9] + a[10] + a[11]; t[5] = a[12] + a[10] + a[7] + a[5]; for(i=1;i<6;i++) { if(t[i]!=t[i-1]) return ; } printf("%d ",a[6]); return ; } for(i=1;i<=12;++i) { if(book[i]==0) { a[step]=i; book[i]=1; dfs(step+1); book[i]=0; } } } int main() { book[1]=1; a[1]=1; book[8]=1; a[2]=8; book[3]=1; a[12]=3; dfs(1); }
C++ :
#include <algorithm> #include <iostream> using namespace std; int p[9]={2,4,5,6,7,9,10,11,12}; int main() { do { int a=8+p[0]+p[1]+p[2]; int b=8+p[3]+p[6]+3; int c=3+p[2]+p[4]+p[7]; int d=1+p[0]+p[3]+p[5]; int e=1+p[1]+p[4]+p[8]; int f=p[5]+p[6]+p[7]+p[8]; if(a==b&&b==c&&c==d&&d==e&&e==f) break; } while(next_permutation(p,p+9)); cout<<p[3]; return 0; }
- 1
信息
- ID
- 815
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者