import java.util.*;
import java.io.*;
public class Main{
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws IOException {
String[] S;
S = br.readLine().split(" ");
int n,m;
n = Integer.parseInt(S[0]);
m = Integer.parseInt(S[1]);
int[][] map = new int[n+1][n+1];
int[] count = new int[n+1];
TreeMap<Integer,ArrayList<Integer>> tm = new TreeMap<>();
for(int i = 0 ; i < m ; i++) {
S = br.readLine().split(" ");
int u = Integer.parseInt(S[0]);
int v = Integer.parseInt(S[1]);
map[u][v] = 1;
map[v][u] = 1;
count[u]++;
count[v]++;
ArrayList<Integer> list;
if(!tm.containsKey(u)) {
list = new ArrayList<>();
list.add(v);
}
else {
list = tm.get(u);
list.add(v);
Collections.sort(list , (a , b) -> {
return a - b;
});
}
tm.put(u, list);
if(!tm.containsKey(v)) {
list = new ArrayList<>();
list.add(u);
}
else {
list = tm.get(v);
list.add(u);
Collections.sort(list , (a , b) -> {
return a - b;
});
}
tm.put(v, list);
}
/*for(int i = 1 ; i <= tm.size() ; i++) {
ArrayList<Integer> list = tm.get(i);
if(list == null) {
continue;
}
for(Integer number : list) {
System.out.print(number + " ");
}
System.out.println();
}*/
for(int i = 1 ; i <= n ; i++) {
for(int j = 1 ; j < map[i].length ; j++) {
out.write(map[i][j] + " ");
}
out.write("\n");
}
for(int i = 1 ; i <= tm.size() ; i++) {
out.write(count[i] + " ");
ArrayList<Integer> list = tm.get(i);
for(Integer number : list) {
out.write(number + " ");
}
out.write('\n');
}
out.flush();
out.close();
br.close();
}
}
注释部分是用来自己测试的
ps:学校电脑用的eclipse真的难用,为了应付考试我只能用一下了唉,太不如idea了!!