package JD;
import java.util.Scanner;
/**
* @Author: JackYe
* @CreateDate: 2019/8/24 20:22
* @Description: java类作用描述
* @UpdateUser: 更新者
* @UpdateDate: 2019/8/24 20:22
* @UpdateRemark: 更新说明
* @Version: 1.0
*/
public class HTest02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int M = scanner.nextInt();
int[][] relation = new int[N][N];
int[] all = new int[2*N];
for (int i = 0; i < M; i++) {
int male = scanner.nextInt();
int female = scanner.nextInt();
relation[male - 1][female - N - 1] = 1;
all[male-1]+=1;
all[female-1]+=1;
}
while (true){
int index= findMax(all);
if (all[index]==0) break;
all[index]=0;/*移除所有关系*/
System.out.println(index+1);
if(index<N){/*male*/
for (int i=0;i<N;i++){
if (relation[index][i]==1){
all[N+i]--;
}
}
}
else {
for (int i=0;i<N;i++){
if (relation[i][index-N]==1){
all[i]--;
}
}
}
}
}
private static int findMax(int[] all){
int index=0;
for (int i=1;i<all.length;i++){
if (all[i]>all[index]){
index=i;
}
}
return index;
}
}
本地测试了下还可以。