Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class DN07_63140176{
- public static void main (String [] arg){
- Scanner sc = new Scanner(System.in);
- int v = sc.nextInt();
- int s = sc.nextInt();
- int tab [][] = new int [v][s];
- int [][] tab2 = new int [v][s];
- String a = "";
- String b = sc.nextLine();
- while(sc.hasNextLine()){
- for(int i = 0; i<v;i++){
- a = sc.nextLine();
- //System.out.println(""+a);
- //a = a.concat(String.valueOf(sc.nextInt()));
- for(int j = 0; j<s;j++){
- tab[i][j] = Character.getNumericValue(a.charAt(j));
- }
- }
- }
- //System.out.println(""+a);
- /*for(int i = 0;i<v;i++){
- for(int j = 0;j<s;j++)
- System.out.print(tab[i][j] + " ");
- System.out.println();
- }
- //int t[] = new int [50];
- /*int f = 0;
- for(int i = 0;i<tab.length*tab[0].length ;i++){
- tab2 = vrniCrko(tab,tab2,i+1);
- if(tab2[0][0][1]!=0)
- //f = f+t[i];
- f++;
- else break;
- //if(t[i] != 0) i = t.length;
- }
- /*for(int i = 0;i<v;i++){
- for(int j = 0;j<s;j++)
- System.out.print(tab2[i][j][0] + " ");
- System.out.println();
- }*/
- System.out.println(vrniCrko(tab,tab2));
- }
- public static int vrniCrko(int tab[][],int tab2[][]){
- int g = 0;
- int f = 0;
- int a = 1;
- int bla =0;
- int bla2 =0;
- int stI = 0;
- int stJ = 0;
- /*for(int i = 0;i<tab.length;i++){
- for(int j = 0;j<tab[0].length;j++)
- System.out.print(tab[i][j] + " ");
- System.out.println();}*/
- for(int h = 0;h<tab.length*tab[0].length;h++){
- g=0;
- //a = h+1;
- //System.out.println();
- for(int i = stI; i<tab.length;i++){
- bla = 0;
- bla2=0;
- f = a;
- for(int j = stJ; j<tab[0].length;j++){
- stJ=0;
- /*if(g==0 &&tab[i][j]==1){
- g++;
- tab2[i][j] = a;
- System.out.println(" a --> " + a + " g--> " + g + " i---> " +i + " j--> " + j+ " g==0 ");
- }*/
- if(tab[i][j] == 1 ){
- if(tab2[i][j]==0){
- tab2[i][j]=a;
- g++;}
- if(tab2[i][j] == a || tab2[i][j] == 0){
- if (j!=tab[0].length-1 && i!=tab.length-1){
- if(tab[i+1][j]==1){
- if(tab2[i+1][j] == a || tab2[i+1][j] ==0){
- g++;
- tab2[i+1][j]=a;
- }
- }
- if(tab[i][j+1]==1){
- if(tab2[i][j+1] ==0 || tab2[i][j+1] ==a){
- g++;
- tab2[i][j+1]=a;
- }
- }
- if(tab[i+1][j] ==0 && tab[i][j+1] ==0){
- a++;
- //System.out.println("tab2["+i+"]["+j+"] "+tab2[i][j]);
- stI = i;
- if(j != tab[0].length-1)
- stJ = j+1;
- else stJ = 0;
- i=tab.length-1;
- j=tab[0].length-1;
- }
- }
- /*else if (i!=tab.length){
- if(tab[i+1][j]==1 && tab2[i+1][j] ==0){
- g++;
- tab2[i+1][j]=a;
- }
- else if(tab[i][j+1]==1 && tab2[i][j+1] ==0){
- g++;
- tab2[i][j+1]=a;
- }
- }*/
- else if (i==0 && j==tab[0].length-1){
- if(tab[i+1][j]==1){
- if(tab2[i+1][j] == a || tab2[i+1][j] ==0){
- g++;
- tab2[i+1][j]=a;
- bla++;
- }
- }
- }
- else if( i==tab.length-1&&j==0){
- if(tab[i][j+1]==1 ){
- if(tab2[i][j+1]==0 || tab2[i][j+1]==a){
- g++;
- tab2[i][j+1]=a;
- bla2++;
- }
- }
- }
- else if(bla==0 && bla2 ==0 && f==a){
- //System.out.println("tab2["+i+"]["+j+"] "+tab2[i][j] +" aegaeg");
- a++;
- stI = i;
- if(j != tab[0].length-1)
- stJ = j+1;
- else stJ = 0;
- i=tab.length-1;
- j=tab[0].length-1;
- }
- else if(i ==tab.length-1 && j == tab[0].length-1){
- if(tab[i][j]==1){
- if(tab2[i][j] ==0 ||tab2[i][j]==a){
- g++;
- tab2[i][j]=a;
- }
- }
- }
- }
- }
- //System.out.println(" a --> " + a + " g--> " + g + " i---> " +i + " j--> " + j + " tab2["+i+"]["+j+"] " + tab2[i][j]);
- //System.out.print(tab2[i][j] + " ");
- }
- //System.out.println(" " + i);
- //bla = h;
- //bla2 = j;
- }
- //System.out.print((i+1)+ "-" + g+ " ");
- if(g==0 && h>=tab.length)
- return a-1;
- }
- //System.out.println();
- /*System.out.println();
- System.out.println();
- for(int i = 0;i<tab2.length;i++){
- for(int j = 0;j<tab2[0].length;j++)
- System.out.print(tab2[i][j] + " ");
- System.out.println();
- }
- System.out.println();
- for(int i = 0;i<tab.length;i++){
- for(int j = 0;j<tab[0].length;j++)
- System.out.print(tab[i][j] + " ");
- System.out.println();
- }*/
- return a-1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement