总时间限制: 1000ms 内存限制: 65536kB描述
给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺序遍历整个数组。
输入输入的第一行上有两个整数,依次为row和col。 余下有row行,每行包含col个整数,构成一个二维整数数组。 (注:输入的row和col保证0 < row < 100, 0 < col < 100)输出按遍历顺序输出每个整数。每个整数占一行。样例输入
3 4
1 2 4 7
3 5 8 10
6 9 11 12
样例输出
1
2
3
4
5
6
7
8
9
10
11
12
1 #include<iostream>
2 #include<cstdio>
3 #include<cmath>
4 #include<cstring>
5 using namespace std;
6 int tot=1;
7 int ans=2;
8 int now=1;// 1向下 2向上
9 int a[101][101];
10 int hang=3,lie=2;
11 int main()
12 {
13 int n,m;
14 int i=1,j=1;//坐标
15 cin>>n>>m;
16 for(int i=1;i<=n;i++)
17 {
18 for(int j=1;j<=m;j++)
19 cin>>a[i][j];
20 }
21 while(i*j!=n*m)
22 {
23 if(lie==m+2)
24 break;
25 cout<<a[i][j]<<endl;
26 i++;
27 j--;
28 if(j==0||i==n+1)
29 {
30 i=1;
31 j=lie;
32 lie++;
33 }
34
35 }
36 i=2;
37 j=m;
38 while(i*j!=n*m)
39 {
40 if(hang==n+2)
41 break;
42 cout<<a[i][j]<<endl;
43 i++;
44 j--;
45 if(j==0||i==n+1)
46 {
47 j=m;
48 i=hang;
49 hang++;
50 }
51 }
52 cout<<a[n][m];
53 return 0;
54 }