fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n;
  8. cin >> n;
  9. int i = 1;
  10. int j = n - 1;
  11. int k = 0;
  12. int a = 0;
  13. int array[n][n];
  14. while (i <= n*n)
  15. {
  16. array[k][k] = i;
  17. cout << k << ' ' << k << ' ' << i << endl;
  18. i++;
  19. array[k][n-k -1] = i;
  20. cout << k << ' ' << n-k-1 << ' ' << i << endl;
  21. i++;
  22. array[n-k-1][n-k - 1 ] = i;
  23. cout << n-k-1 << ' ' << n-k-1 << ' ' << i << endl;
  24. i++;
  25. array[n-k-1][k] = i;
  26. cout << n-k-1 << ' ' << k << ' ' << i << endl;
  27. i++;
  28. if (i > n*n)
  29. break;
  30. while (a < j - 1)
  31. {
  32. array[k][k + a + 1] = i;
  33. i++;
  34. cout << k << ' ' << k+a+1 << ' ' << i << endl;
  35. array[k + a + 1][n-k-1] = i;
  36. i++;
  37. cout << k+a+1 << ' ' <<n-k-1 << ' ' << i << endl;
  38. array[n - k - 1][n - k - a - 2] = i;
  39. i++;
  40. cout << n - k - 1 << ' ' << n - k - a - 2 << ' ' << i << endl;
  41. array[n-k-a-2][k] = i;
  42. a++;
  43. i++;
  44. cout << n-k-a-2 << ' ' << k << ' ' << i << endl;
  45. }
  46. i++;
  47. //a = 0;
  48. k++;
  49. j--;
  50. }
  51. k = 0;
  52. j = 0;
  53. while(k < n)
  54. {
  55. while(j < n)
  56. {
  57. cout << array[k][j] << " ";
  58. j++;
  59. }
  60. k ++;
  61. j = 0;
  62. cout << endl;
  63. }
  64. return 0;
  65. }
  66.  
Success #stdin #stdout 0s 3104KB
stdin
6
stdout
0 0 1
0 5 2
5 5 3
5 0 4
0 1 6
1 5 7
5 4 8
3 0 9
0 2 10
2 5 11
5 3 12
2 0 13
0 3 14
3 5 15
5 2 16
1 0 17
0 4 18
4 5 19
5 1 20
0 0 21
1 1 22
1 4 23
4 4 24
4 1 25
2 2 27
2 3 28
3 3 29
3 2 30
3 3 32
3 2 33
2 2 34
2 3 35
1 5 9 13 17 2 
20 22 2 -1216213722 23 6 
16 2 34 35 134513424 10 
12 -1215696984 33 32 0 14 
8 25 2 6 24 18 
4 19 15 11 7 3