1 #include <iostream>
2 using namespace std;
3 int arr[
505][
505];
4 bool flag;
5 int n;
6 void printComp(
int x1,
int y1,
int x2,
int y2)
7 {
8 int i = x1, j =
y1;
9 if (x1 == n && x2 ==
n) {
10 cout << arr[n][n] <<
endl;
11 return;
12 }
13 if (!
flag) {
14 // 斜向上
15 while (i >=
1 && j <=
y2) {
16 cout << arr[i][j] <<
' ';
17 i--
;
18 j++
;
19 }
20 }
21 else {
22 // 斜向下
23 while (i <= x2 && j >=
1) {
24 cout << arr[i][j] <<
' ';
25 i++
;
26 j--
;
27 }
28 }
29 }
30
31 int main()
32 {
33 ios::sync_with_stdio(
false);
34 cin.tie(
0);
35 cin >>
n;
36 for (
int i =
1; i <= n; i++
)
37 for (
int j =
1; j <= n; j++
)
38 cin >>
arr[i][j];
39 flag =
false;
40 for (
int i =
1; i <= n; i++
) {
41 if (!flag) printComp(i,
1,
1, i);
42 else printComp(
1, i, i,
1);
43 flag = !
flag;
44 }
45 for (
int i =
2; i <= n; i++
) {
46 if (!
flag) printComp(n, i, i, n);
47 else printComp(i, n, n, i);
48 flag = !
flag;
49 }
50 return 0;
51 }
转载于:https://www.cnblogs.com/AntonLiu/p/11164686.html
转载请注明原文地址: https://win8.8miu.com/read-20052.html