Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int p[404][404];
  6.  
  7. //#define return 0; e++;
  8. int main()
  9. {
  10. ios::sync_with_stdio(false);
  11. cin.tie(0);
  12. cout.tie(0);
  13. //freopen("input.txt","r",stdin);
  14. //freopen("output.txt","w",stdout);
  15. int n,m,g,e=-1000;
  16. cin>>n>>m>>g;
  17. for(int i=0;i<404;i++)
  18. {
  19. for(int j=0;j<404;j++)
  20. {
  21. p[i][j]=0;
  22. }
  23. }
  24. for(int i=1;i<=n;i++)
  25. {
  26. for(int j=1;j<=m;j++)
  27. {
  28. cin>>p[i][j];
  29. }
  30. }
  31. if(p[1][1]==1 || p[1][1]==2)
  32. {
  33. cout<<"NO";
  34. return 0;
  35. } else p[1][1]=5*(bool)(p[1][1]!=0);
  36. for(int i=1;i<m;i++)
  37. {
  38. if(p[1][i]==1 || p[1][i]==5)
  39. {
  40. if(p[1][i+1]==2 || p[1][i+1]==1)
  41. {
  42. p[1][i+1]=1;
  43. } else if(p[1][i+1]==3 || p[1][i+1]==4 || p[1][i+1]==5 || p[1][i+1]==6)
  44. {
  45. p[1][i+1]=6;
  46. } else
  47. {
  48. cout<<"NO";
  49. //cout<<i;
  50. return 0;
  51. }
  52. } else
  53. {
  54. if(p[1][i+1]==2 || p[1][i+1]==1)
  55. {
  56. cout<<"NO";
  57. return 0;
  58. }
  59. if(p[1][i+1]==3 || p[1][i+1]==4 || p[1][i+1]==5 || p[1][i+1]==6)
  60. {
  61. p[1][i+1]=5;
  62. }
  63. }
  64. }
  65. if(p[1][m]==1 || p[1][m]==5)
  66. {
  67. cout<<"NO";
  68. return 0;
  69. }
  70. for(int i=2;i<=n;i++)
  71. {
  72. if(p[i-1][1]==2 || p[i-1][1]==5 || p[i-1][1]==6)
  73. {
  74. if(p[i][1]==1 || p[i][1]==2)
  75. {
  76. p[i][1]=2;
  77. } else if(p[i][1]==3 || p[i][1]==4 || p[i][1]==5 || p[i][1]==6)
  78. {
  79. p[i][1]=4;
  80. } else
  81. {
  82. cout<<"NO";
  83. return 0;
  84. }
  85. } else
  86. {
  87. if(p[i][1]==1 || p[i][1]==2)
  88. {
  89. cout<<"NO";
  90. return 0;
  91. }
  92. if(p[i][1]==3 || p[i][1]==4 || p[i][1]==5 || p[i][1]==6)
  93. {
  94. p[i][1]=5;
  95. }
  96. }
  97. for(int j=1;j<m;j++)
  98. {
  99. if((p[i][j]==1 || p[i][j]==5 || p[i][j]==4) && (p[i-1][j+1]==5 || p[i-1][j+1]==6 || p[i-1][j+1]==2))
  100. {
  101. if(p[i][j+1]==3 || p[i][j+1]==4 || p[i][j+1]==5 || p[i][j+1]==6)
  102. {
  103. p[i][j+1]=3;
  104. } else
  105. {
  106. cout<<"NO";
  107. return 0;
  108. }
  109. } else if((p[i][j]==1 || p[i][j]==5 || p[i][j]==4) && !(p[i-1][j+1]==5 || p[i-1][j+1]==6 || p[i-1][j+1]==2))
  110. {
  111. if(p[i][j+1]==2 || p[i][j+1]==1)
  112. {
  113. p[i][j+1]=1;
  114. } else if(p[i][j+1]==3 || p[i][j+1]==4 || p[i][j+1]==5 || p[i][j+1]==6)
  115. {
  116. p[i][j+1]=6;
  117. } else
  118. {
  119. cout<<"NO";
  120. return 0;
  121. }
  122. } else if(!(p[i][j]==1 || p[i][j]==5 || p[i][j]==4) && (p[i-1][j+1]==5 || p[i-1][j+1]==6 || p[i-1][j+1]==2))
  123. {
  124. if(p[i][j+1]==2 || p[i][j+1]==1)
  125. {
  126. p[i][j+1]=2;
  127. } else if(p[i][j+1]==3 || p[i][j+1]==4 || p[i][j+1]==5 || p[i][j+1]==6)
  128. {
  129. p[i][j+1]=4;
  130. } else
  131. {
  132. cout<<"NO";
  133. return 0;
  134. }
  135. } else if(!(p[i][j]==1 || p[i][j]==5 || p[i][j]==4) && !(p[i-1][j+1]==5 || p[i-1][j+1]==6 || p[i-1][j+1]==2))
  136. {
  137. if(p[i][j+1]==3 || p[i][j+1]==4 || p[i][j+1]==5 || p[i][j+1]==6)
  138. {
  139. p[i][j+1]=5;
  140. } else if(p[i][j+1]!=0)
  141. {
  142. cout<<"NO";
  143. //cout<<i<<" "<<j;
  144. return 0;
  145. }
  146. }
  147. }
  148. if(p[i][m]==5 || p[i][m]==1)
  149. {
  150. cout<<"NO";
  151. return 0;
  152. }
  153. }
  154. for(int i=1;i<=m;i++)
  155. {
  156. if(p[n][i]==2 || p[n][i]==5 || p[n][i]==6)
  157. {
  158. cout<<"NO";
  159. return 0;
  160. }
  161. }
  162. cout<<"YES\n";
  163. for(int i=1;i<=n;i++)
  164. {
  165. for(int j=1;j<=m;j++)
  166. {
  167. cout<<p[i][j]<<" ";
  168. }
  169. cout<<"\n";
  170. }
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement