求重要城市的代码,未经过测试,dfs暴力求解
public class Main9 { public static void main(String[] args){ /**  Scanner scanner=new Scanner(System.in);  String a=scanner.nextLine();  String[] strings=a.split(" ");  int k1=Integer.valueOf(strings[0]);  int k2=Integer.valueOf(strings[1]);  int[][] kk=new int[k1+1][k1+1];  for(int i=0;i<k2;i++){  String a2=scanner.nextLine();  String[] strings1=a2.split(" ");  int n1=Integer.valueOf(strings1[0]);  int n2=Integer.valueOf(strings1[1]);  kk[n1][n2]=1;  } **/  int[][] kk=new int[5][5];  kk[1][3]=1;  kk[2][1]=1;  kk[3][2]=1;  kk[4][3]=1;   int[][] keda=new int[5][5];   for(int i=1;i<5;i++){ dfs(keda,kk,i,i,0);  } for(int i=1;i<keda.length;i++){ for(int j=1;j<keda.length;j++){
                System.out.print(keda[i][j]);  }
            System.out.println();  } int count =0;  for(int i=1;i<kk.length;i++){ int chudu=0;  for(int d=1;d<kk.length;d++){ if(keda[i][d]==1){
                    chudu++;  }
            } int rudu=0;  for(int j=1;j<kk.length;j++){ if(keda[j][i]==1){
                    rudu++;  }
            } if(rudu>chudu){
                count++;  }
        }
        System.out.println(count);   } public static void dfs(int[][] keda,int[][] kk,int now,int x,int count){ if(now==x){
            count++;  } if(count==2){ return;  } for(int i=1;i<keda.length;i++){ if(kk[x][i]==1&&now!=i&&keda[now][i]!=1){
                keda[now][i]=1;  dfs(keda,kk,now,i,count);  }
        }
    }
}