Advertisement
Guest User

DN07

a guest
Dec 21st, 2014
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. import java.util.*;
  2. public class DN07_63140176{
  3. public static void main (String [] arg){
  4. Scanner sc = new Scanner(System.in);
  5. int v = sc.nextInt();
  6. int s = sc.nextInt();
  7. int tab [][] = new int [v][s];
  8. int [][] tab2 = new int [v][s];
  9. String a = "";
  10.  
  11.  
  12. String b = sc.nextLine();
  13. while(sc.hasNextLine()){
  14. for(int i = 0; i<v;i++){
  15. a = sc.nextLine();
  16. //System.out.println(""+a);
  17. //a = a.concat(String.valueOf(sc.nextInt()));
  18. for(int j = 0; j<s;j++){
  19.  
  20. tab[i][j] = Character.getNumericValue(a.charAt(j));
  21. }
  22. }
  23.  
  24. }
  25. //System.out.println(""+a);
  26. /*for(int i = 0;i<v;i++){
  27. for(int j = 0;j<s;j++)
  28. System.out.print(tab[i][j] + " ");
  29. System.out.println();
  30. }
  31.  
  32. //int t[] = new int [50];
  33. /*int f = 0;
  34. for(int i = 0;i<tab.length*tab[0].length ;i++){
  35. tab2 = vrniCrko(tab,tab2,i+1);
  36. if(tab2[0][0][1]!=0)
  37. //f = f+t[i];
  38. f++;
  39. else break;
  40. //if(t[i] != 0) i = t.length;
  41. }
  42.  
  43. /*for(int i = 0;i<v;i++){
  44. for(int j = 0;j<s;j++)
  45. System.out.print(tab2[i][j][0] + " ");
  46. System.out.println();
  47. }*/
  48.  
  49. System.out.println(vrniCrko(tab,tab2));
  50. }
  51.  
  52.  
  53.  
  54. public static int vrniCrko(int tab[][],int tab2[][]){
  55. int g = 0;
  56. int f = 0;
  57. int a = 1;
  58. int bla =0;
  59. int bla2 =0;
  60. int stI = 0;
  61. int stJ = 0;
  62. /*for(int i = 0;i<tab.length;i++){
  63. for(int j = 0;j<tab[0].length;j++)
  64. System.out.print(tab[i][j] + " ");
  65. System.out.println();}*/
  66. for(int h = 0;h<tab.length*tab[0].length;h++){
  67. g=0;
  68.  
  69. //a = h+1;
  70. //System.out.println();
  71.  
  72. for(int i = stI; i<tab.length;i++){
  73. bla = 0;
  74. bla2=0;
  75. f = a;
  76. for(int j = stJ; j<tab[0].length;j++){
  77. stJ=0;
  78. /*if(g==0 &&tab[i][j]==1){
  79. g++;
  80. tab2[i][j] = a;
  81. System.out.println(" a --> " + a + " g--> " + g + " i---> " +i + " j--> " + j+ " g==0 ");
  82. }*/
  83. if(tab[i][j] == 1 ){
  84. if(tab2[i][j]==0){
  85. tab2[i][j]=a;
  86. g++;}
  87. if(tab2[i][j] == a || tab2[i][j] == 0){
  88. if (j!=tab[0].length-1 && i!=tab.length-1){
  89. if(tab[i+1][j]==1){
  90. if(tab2[i+1][j] == a || tab2[i+1][j] ==0){
  91. g++;
  92. tab2[i+1][j]=a;
  93. }
  94.  
  95. }
  96. if(tab[i][j+1]==1){
  97. if(tab2[i][j+1] ==0 || tab2[i][j+1] ==a){
  98. g++;
  99. tab2[i][j+1]=a;
  100. }
  101.  
  102.  
  103. }
  104. if(tab[i+1][j] ==0 && tab[i][j+1] ==0){
  105. a++;
  106. //System.out.println("tab2["+i+"]["+j+"] "+tab2[i][j]);
  107. stI = i;
  108. if(j != tab[0].length-1)
  109. stJ = j+1;
  110. else stJ = 0;
  111. i=tab.length-1;
  112. j=tab[0].length-1;
  113. }
  114. }
  115.  
  116. /*else if (i!=tab.length){
  117. if(tab[i+1][j]==1 && tab2[i+1][j] ==0){
  118. g++;
  119. tab2[i+1][j]=a;
  120. }
  121. else if(tab[i][j+1]==1 && tab2[i][j+1] ==0){
  122. g++;
  123. tab2[i][j+1]=a;
  124. }
  125. }*/
  126. else if (i==0 && j==tab[0].length-1){
  127. if(tab[i+1][j]==1){
  128. if(tab2[i+1][j] == a || tab2[i+1][j] ==0){
  129. g++;
  130. tab2[i+1][j]=a;
  131. bla++;
  132. }
  133. }
  134.  
  135. }
  136. else if( i==tab.length-1&&j==0){
  137. if(tab[i][j+1]==1 ){
  138. if(tab2[i][j+1]==0 || tab2[i][j+1]==a){
  139. g++;
  140. tab2[i][j+1]=a;
  141. bla2++;
  142. }
  143. }
  144. }
  145.  
  146. else if(bla==0 && bla2 ==0 && f==a){
  147. //System.out.println("tab2["+i+"]["+j+"] "+tab2[i][j] +" aegaeg");
  148. a++;
  149. stI = i;
  150. if(j != tab[0].length-1)
  151. stJ = j+1;
  152. else stJ = 0;
  153. i=tab.length-1;
  154. j=tab[0].length-1;
  155. }
  156. else if(i ==tab.length-1 && j == tab[0].length-1){
  157. if(tab[i][j]==1){
  158. if(tab2[i][j] ==0 ||tab2[i][j]==a){
  159. g++;
  160. tab2[i][j]=a;
  161.  
  162. }
  163. }
  164. }
  165. }
  166. }
  167. //System.out.println(" a --> " + a + " g--> " + g + " i---> " +i + " j--> " + j + " tab2["+i+"]["+j+"] " + tab2[i][j]);
  168. //System.out.print(tab2[i][j] + " ");
  169. }
  170. //System.out.println(" " + i);
  171. //bla = h;
  172. //bla2 = j;
  173. }
  174.  
  175. //System.out.print((i+1)+ "-" + g+ " ");
  176.  
  177.  
  178. if(g==0 && h>=tab.length)
  179. return a-1;
  180.  
  181. }
  182. //System.out.println();
  183. /*System.out.println();
  184. System.out.println();
  185. for(int i = 0;i<tab2.length;i++){
  186. for(int j = 0;j<tab2[0].length;j++)
  187. System.out.print(tab2[i][j] + " ");
  188. System.out.println();
  189. }
  190. System.out.println();
  191. for(int i = 0;i<tab.length;i++){
  192. for(int j = 0;j<tab[0].length;j++)
  193. System.out.print(tab[i][j] + " ");
  194. System.out.println();
  195. }*/
  196. return a-1;
  197. }
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement