'commit'
This commit is contained in:
23
C++课程/习题训练/蛇形填数.cpp
Normal file
23
C++课程/习题训练/蛇形填数.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
#include<bits/stdc++.h>
|
||||
using namespace std;
|
||||
int a[10][10];
|
||||
int main() {
|
||||
int i, j, n, count;
|
||||
memset(a, 0, sizeof(a));
|
||||
scanf("%d", &n);
|
||||
count = a[i = 1][j = n] = 1;//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>-><3E><>
|
||||
while(count < n*n) {
|
||||
while(i<n && !a[i+1][j]) a[++i][j] = ++count;//<2F><>
|
||||
while(j>1 && !a[i][j-1]) a[i][--j] = ++count;//<2F><>
|
||||
while(i>1 && !a[i-1][j]) a[--i][j] = ++count;//<2F><>
|
||||
while(j<n && !a[i][j+1]) a[i][++j] = ++count;//<2F><>
|
||||
}
|
||||
for(i = 1; i <= n; i++)
|
||||
for(j = 1; j <= n; j++) {
|
||||
if(j == n) printf("%3d\n", a[i][j]);
|
||||
else printf("%3d", a[i][j]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user