Advertisement
Guest User

2017a-87

a guest
Mar 27th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.80 KB | None | 0 0
  1.  public static boolean covers(int[][]mat,int[]arr, int k){
  2.         int n=mat.length;
  3.         return covers(mat,arr,k,n,0);
  4.     }
  5.  
  6.     private static boolean covers(int[][]mat,int[]arr,int k, int n, int row){
  7.         System.out.println("Entered covers: k: "+k+" n: "+n+" row: "+row+" with arr: "+Arrays.toString(arr));
  8.         if(row==n) {
  9.             System.out.println("if row==n : allZero(" + Arrays.toString(arr) + ") is: " + allZero(arr));
  10.             return allZero(arr);
  11.         }
  12.  
  13.         if(k==0) {
  14.             System.out.println("if k==0: allZero(" + Arrays.toString(arr) + ") is: " + allZero(arr));
  15.             return allZero(arr);
  16.         }
  17.         int[] arr2=new int[arr.length];
  18.         copy(arr2,arr);
  19.         System.out.println("copy is: "+Arrays.toString(arr2));
  20.         xZero(arr2,mat[row]);
  21.         System.out.println("xZero is: "+Arrays.toString(arr2));
  22.         System.out.println("(covers(mat,arr:" + Arrays.toString(arr) +",k: "+k+" ,n: "+n+" ,row+1: "+(row+1)+")|| (covers(mat,arr2:" + Arrays.toString(arr2) +" ,k-1: "+(k-1)+" ,n: "+n+" ,row+1: "+(row+1)+"))");
  23.         return (covers(mat,arr,k,n,row+1)|| covers(mat,arr2,k-1,n,row+1));
  24.  
  25.  
  26.  
  27.     }
  28.  
  29.  
  30.     public static void xZero(int[] x, int [] y){
  31.  
  32.         for(int i=0;i<=x.length-1;i++){
  33.             for(int j=0; j<=x.length-1;j++) {
  34.                 if (x[i] == y[j])
  35.                     x[i] = 0;
  36.             }
  37.         }
  38.     }
  39.     private static boolean allZero(int[] n){
  40.         boolean flag=false;
  41.         for(int i=0; i<=n.length-1;i++) {
  42.             if (n[i] == 0)
  43.                 flag = true;
  44.             else
  45.                 return false;
  46.         }
  47.         return flag;
  48.  
  49.     }
  50.  
  51.     private static void copy(int[] des, int[]src){
  52.         for(int i=0;i<=des.length-1;i++){
  53.             des[i]=src[i];
  54.         }
  55.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement