标签:none subject == 办公 main mit coder space 技术
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 96M,其他语言192M
第一行 两个数, 数组行列 N,M
接下来 N 行,每行 M 个正整数,表示每个位置的员工工号
1 ≤ N ≤ 1000
1 ≤ M ≤ 1000
发放水果工号序列
3 3
1 2 3
4 5 6
7 8 9
1 4 7 8 9 6 3 2 5
思路:此题就是按照逆时针绕正方形形状由外至内来输出正方形边上的员工工号序列。
1 #include<iostream> 2 3 using namespace std; 4 5 const int N = 1010; 6 7 int n, m ,a[N][N]; 8 9 10 int main(){ 11 cin >> n >> m; 12 13 int mm = m , nn = n; 14 15 for(int i = 0 ; i < n ; i ++) 16 for(int j = 0 ; j < m ; j ++) scanf("%d",&a[i][j]); 17 18 int sum = n * m; 19 int i = 0 , j = 0; 20 while(sum){ 21 for(; i < nn ; i ++){ 22 printf("%d ",a[i][j]); 23 sum --; 24 if(sum == 0) return 0; 25 } 26 i --; 27 j ++; 28 29 for(; j < mm ; j ++){ 30 printf("%d ",a[i][j]); 31 sum --; 32 if(sum == 0) return 0; 33 } 34 j --; 35 i --; 36 37 for(; i >= n - nn ; i --){ 38 printf("%d ",a[i][j]); 39 sum --; 40 if(sum == 0) return 0; 41 } 42 i ++; 43 j --; 44 45 for(; j > m - mm ; j --){ 46 printf("%d ",a[i][j]); 47 sum --; 48 if(sum == 0) return 0; 49 } 50 j ++; 51 i ++; 52 mm --; 53 nn --; 54 } 55 return 0; 56 }
标签:none subject == 办公 main mit coder space 技术
原文地址:https://www.cnblogs.com/ZhaoHaoFei/p/12275034.html