Files
python/C++专题课程/基础知识/回型取数.cpp
HuangHai 1f397eca87 'commit'
2025-08-30 18:35:01 +08:00

54 lines
721 B
C++

#include<bits/stdc++.h>
using namespace std;
int main() {
int n,m,j,i,x,y;
scanf("%d %d",&n,&m);
int a[n][m];
int b[n*m];
for(i=0; i<n; i++)
for(j=0; j<m; j++)
scanf("%d",&a[i][j]);
x=0;
y=0;
int k=0;
while(k<n*m) {
while(a[x][y]!=-1&&x<n) {
b[k]=a[x][y];
a[x][y]=-1;
x++;
k++;
}
x--;
y++;
while(a[x][y]!=-1&&y<m) {
b[k]=a[x][y];
a[x][y]=-1;
y++;
k++;
}
y--;
x--;
while(a[x][y]!=-1&&x>=0) {
b[k]=a[x][y];
a[x][y]=-1;
x--;
k++;
}
x++;
y--;
while(a[x][y]!=-1&&y>=0) {
b[k]=a[x][y];
a[x][y]=-1;
y--;
k++;
}
y++;
x++;
}
for(i=0; i<k; i++)
printf("%d ",b[i]);
return 0;
}