fork(1) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. int n,m;
  5. cin>>n>>m;
  6. vector<vector<int> > a(n,vector<int>(m,0));
  7.  
  8. int r=0,c=0,rr=n-1,cc=m;
  9. int d=1,i=0;
  10. while(d<=n*m){
  11. for( i=c;i<c+cc;i++)a[r][i]=d++;
  12. c=i-1;
  13. cc--;
  14. for(i =r+1;i<r+1+rr;i++)a[i][c]=d++;
  15. r = i-1;
  16. rr--;
  17. for( i = c-1;i>=c-cc;i--)a[r][i]=d++;
  18. c=i+1;
  19. cc--;
  20. for(i=r-1;i>=r-rr;i--)a[i][c]=d++;
  21. r = i+1;
  22. rr--;
  23. c=i+1;
  24. }
  25. for(int i=0;i<n;i++){
  26. for(int j=0;j<m;j++)
  27. cout<<a[i][j]<<" ";
  28. cout<<endl;
  29. }
  30. return 0;
  31. }
Success #stdin #stdout 0s 15240KB
stdin
4 5
stdout
1 2 3 4 5 
14 15 16 17 6 
13 20 19 18 7 
12 11 10 9 8