社区讨论
还有人吗,头一回MLE(求解)
B3940[GESP样题 四级] 填幻方参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mm0q2zno
- 此快照首次捕获于
- 2026/02/24 22:50 2 周前
- 此快照最后确认于
- 2026/02/24 22:55 2 周前
CPP
#include<bits/stdc++.h>
using namespace std;
long long a[25][25],x,y,x1,yy1,i,n;
int tc(){
yy1=y;
x1=x;
a[x][y]=i;
}
int hf1(){
if(x1+1>n) {
x1=x=1;
a[x1][yy1]=i;
} else {
x1+=1;
x=x1;
y=yy1;
a[x1][yy1]=i;
}
}
int hf() {
int k,j;
for(i=2; i<=n*n; i++) {
if(x-1==0) {
x=n;
if(y+1>n) {
y=1;
if(a[x][y]==0) {
tc();
} else {
hf1();
}
} else {
y+=1;
if(a[x][y]==0) {
tc();
} else {
hf1();
}
}
} else {
if(y+1>n) {
y=1;
x-=1;
if(a[x][y]==0) {
tc();
} else {
hf1();
}
} else {
x-=1;
y+=1;
if(a[x][y]==0) {
tc();
} else {
hf1();
}
}
}
}
}
int main() {
int k,j;
cin>>n;
a[1][n/2+1]=1;
x=1;
x1=x;
y=n/2+1;
yy1=y;
hf();
for(k=1; k<=n; k++) {
for(j=1; j<=n; j++) {
cout<<a[k][j]<<" ";
}
cout<<endl;
}
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...