fork download
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int n, m, c=0, A[401][401], i, j;
  5. scanf("%d %d", &n, &m);
  6. for(i=0; i<n; i++){
  7. for(j=0; j<m; j++){
  8. scanf("%d", &A[i][j]);
  9. }
  10. }
  11. //A[i+1][j]==1 && A[i][j-1]==1 && A[i][j+1]==1
  12. for(i=1; i<n-1; i++){
  13. for(j=1; j<m-1; j++){
  14. if(A[i][j]==0){}
  15. if(A[i][j]==1){c++;}
  16. if(A[i-1][j]==1){c++;}
  17. if(A[i+1][j]==1){c++;}
  18. if(A[i][j-1]==1){c++;}
  19. if(A[i][j+1]==1){c++;}
  20. if(A[i+1][j+1]==1){c++;}
  21. if(A[i+1][j-1]==1){c++;}
  22. if(A[i-1][j+1]==1){c++;}
  23. if(A[i-1][j-1]==1){c++;}
  24. A[i][j]=c;
  25. }c=0;
  26. }c=0;
  27. if(A[0][0]==0){}
  28. if(A[0][0]==1){c++;}
  29. if(A[0][1]==1){c++;}
  30. if(A[1][1]==1){c++;}
  31. if(A[1][0]==1){c++;}
  32. A[0][0]=c;
  33. c=0;
  34. if(A[0][m-1]==0){}
  35. if(A[0][m-1]==1){c++;}
  36. if(A[0][m-2]==1){c++;}
  37. if(A[1][m-1]==1){c++;}
  38. if(A[1][m-2]==1){c++;}
  39. A[0][m-1]=c;
  40. c=0;
  41. if(A[n-1][0]==0){}
  42. if(A[n-1][0]==1){c++;}
  43. if(A[n-2][0]==1){c++;}
  44. if(A[n-2][1]==1){c++;}
  45. if(A[n-1][1]==1){c++;}
  46. A[n-1][0]=c;
  47. c=0;
  48. if(A[n-1][m-1]==0){}
  49. if(A[n-1][m-1]==1){c++;}
  50. if(A[n-2][m-1]==1){c++;}
  51. if(A[n-2][m-2]==1){c++;}
  52. if(A[n-1][m-2]==1){c++;}
  53. A[n-1][m-1]=c;
  54.  
  55. for(i=0; i<n; i++){
  56. for(j=0; j<m; j++){
  57. printf("%d ", A[i][j]);
  58. }printf("\n");
  59. }
  60.  
  61. return 0;
  62. }
Success #stdin #stdout 0s 9936KB
stdin
3  4
0  1  0  1
1  0  1  1
0  1  1  0
stdout
2 1 0 2 
1 5 11 1 
2 1 1 2