fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5. char **m = NULL;
  6. m = malloc(sizeof(char*)*10);
  7. int i;
  8. for (i = 0; i < 10; i++)
  9. m[i] = malloc(sizeof(char)*10);
  10.  
  11. int l, c;
  12. i = 0;
  13. while (i < 10) {
  14. scanf("%d %d", &l, &c);
  15. m[l][c] = '*';
  16. i++;
  17. }
  18.  
  19. int num_bomba = 0;
  20. for (l = 0; l < 10; l++) {
  21. for (c = 0; c < 10; c++) {
  22. if (m[l][c] != '*') {
  23. if (c == 0) {
  24. if (l == 0) {
  25. if (m[l][c+1] == '*')
  26. num_bomba++;
  27. if (m[l+1][c] == '*')
  28. num_bomba++;
  29. if (m[l+1][c+1] == '*')
  30. num_bomba++;
  31. } else if (l == 9) {
  32. if (m[l][c+1] == '*')
  33. num_bomba++;
  34. if (m[l-1][c] == '*')
  35. num_bomba++;
  36. if (m[l-1][c+1] == '*')
  37. num_bomba++;
  38. } else {
  39. if (m[l-1][c] == '*')
  40. num_bomba++;
  41. if (m[l+1][c] == '*')
  42. num_bomba++;
  43. if (m[l-1][c+1] == '*')
  44. num_bomba++;
  45. if (m[l][c+1] == '*')
  46. num_bomba++;
  47. if (m[l+1][c+1] == '*')
  48. num_bomba++;
  49. }
  50. } else if (c == 9) {
  51. if (l == 0) {
  52. if (m[l][c-1] == '*')
  53. num_bomba++;
  54. if (m[l+1][c] == '*')
  55. num_bomba++;
  56. if (m[l+1][c-1] == '*')
  57. num_bomba++;
  58. } else if (l == 9) {
  59. if (m[l][c-1] == '*')
  60. num_bomba++;
  61. if (m[l-1][c] == '*')
  62. num_bomba++;
  63. if (m[l-1][c-1] == '*')
  64. num_bomba++;
  65. } else {
  66. if (m[l-1][c] == '*')
  67. num_bomba++;
  68. if (m[l+1][c] == '*')
  69. num_bomba++;
  70. if (m[l-1][c-1] == '*')
  71. num_bomba++;
  72. if (m[l][c-1] == '*')
  73. num_bomba++;
  74. if (m[l+1][c-1] == '*')
  75. num_bomba++;
  76. }
  77. } else if (l == 0) {
  78. if (c != 0 && c != 9) {
  79. if (m[l][c-1] == '*')
  80. num_bomba++;
  81. if (m[l][c+1] == '*')
  82. num_bomba++;
  83. if (m[l+1][c-1] == '*')
  84. num_bomba++;
  85. if (m[l+1][c] == '*')
  86. num_bomba++;
  87. if (m[l+1][c+1] == '*')
  88. num_bomba++;
  89. }
  90. } else if (l == 9) {
  91. if (c != 0 && c != 9) {
  92. if (m[l][c-1] == '*')
  93. num_bomba++;
  94. if (m[l][c+1] == '*')
  95. num_bomba++;
  96. if (m[l-1][c-1] == '*')
  97. num_bomba++;
  98. if (m[l-1][c] == '*')
  99. num_bomba++;
  100. if (m[l-1][c+1] == '*')
  101. num_bomba++;
  102. }
  103. } else {
  104. if (m[l-1][c-1] == '*')
  105. num_bomba++;
  106. if (m[l][c-1] == '*')
  107. num_bomba++;
  108. if (m[l+1][c-1] == '*')
  109. num_bomba++;
  110. if (m[l-1][c] == '*')
  111. num_bomba++;
  112. if (m[l+1][c] == '*')
  113. num_bomba++;
  114. if (m[l-1][c+1] == '*')
  115. num_bomba++;
  116. if (m[l][c+1] == '*')
  117. num_bomba++;
  118. if (m[l+1][c+1] == '*')
  119. num_bomba++;
  120. }
  121. m[l][c] = num_bomba;
  122. num_bomba = 0;
  123. }
  124. }
  125. }
  126.  
  127. for (l = 0; l < 10; l++) {
  128. for (c = 0; c < 9; c++) {
  129. if (m[l][c] == '*') {
  130. printf("* ");
  131. } else {
  132. printf("%d ", m[l][c]);
  133. }
  134. }
  135. if (m[l][9] == '*') {
  136. printf("*\n");
  137. } else
  138. printf("%d\n", m[l][9]);
  139. }
  140.  
  141. for (i = 0; i < 10; i++)
  142. free(m[i]);
  143. free(m);
  144.  
  145. return 0;
  146. }
Success #stdin #stdout 0s 4260KB
stdin
3 3
3 4
4 3
4 4
5 5
6 6
5 6
6 5
2 3
3 2
stdout
0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0
0 1 3 * 3 1 0 0 0 0
0 1 * * * 2 0 0 0 0
0 1 3 * * 4 2 1 0 0
0 0 1 2 4 * * 2 0 0
0 0 0 0 2 * * 2 0 0
0 0 0 0 1 2 2 1 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0