#include <cstdio>
const int M = 505, N = 105;
int u[M], v[M], fir_out[N], fir_in[N], out[M], in[M];
void read_G(int &i)
{
scanf("%d%d", &u[i], &v[i]);
out[i] = fir_out[u[i]];
fir_out[u[i]] = i;
in[i] = fir_in[v[i]];
fir_in[v[i]] = i;
}
int main()
{
int n, m;
while(scanf("%d%d", &n, &m)!=EOF, n||m) {
for(int i = 1; i <= n; i++) {
fir_in[i] = fir_out[i] = -1;
}
for(int i = 1; i <= m; i++) {
read_G(i);
}
for(int i = 1; i <= n; i++) {
int od = 0;
int tmp = fir_out[i];
while(tmp != -1) {
od++;
tmp = out[tmp];
}
if(i == 1)
printf("%d", od);
else printf(" %d", od);
}
puts("");
for(int i = 1; i <= n; i++) {
int id = 0;
int tmp = fir_in[i];
while(tmp != -1) {
id++;
tmp = in[tmp];
}
if(i == 1)
printf("%d", id);
else printf(" %d", id);
}
puts("");
}
return 0;
}
邻接表 lrj
最新推荐文章于 2019-05-29 23:23:10 发布