#include <bits/stdc++.h>
using namespace std;
int a[300][300];
int main() {
int total=1,pox=0,poy=0,cnt=1;
a[0][0]=1;
for(int i=1;i<=50;i++){
if(i%2==1){
while(cnt<i){
a[--pox][++poy]=++total;
cnt++;
}
a[pox][++poy]=++total;
}else{
while(cnt<i){
a[++pox][--poy]=++total;
cnt++;
}
a[++pox][poy]=++total;
}
cnt=1;
}
cout<<a[19][19]<<" ";
}
仿照蛇形填数2的讲义,使用pos指针。两个while即为方向
using namespace std;
int a[300][300];
int main() {
int total=1,pox=0,poy=0,cnt=1;
a[0][0]=1;
for(int i=1;i<=50;i++){
if(i%2==1){
while(cnt<i){
a[--pox][++poy]=++total;
cnt++;
}
a[pox][++poy]=++total;
}else{
while(cnt<i){
a[++pox][--poy]=++total;
cnt++;
}
a[++pox][poy]=++total;
}
cnt=1;
}
cout<<a[19][19]<<" ";
}
仿照蛇形填数2的讲义,使用pos指针。两个while即为方向
0 回复
0 转发
0 喜欢
1 阅读



