DMOPC '15 Contest 6 P6 - Graf Zeppelin
View as PDFGraf has a graph, a graph with  vertices and 
 bidirectional edges. In this graph, Graf wonders: for each vertex how many vertices are within distance 
 of it?
Input Specification
The first line will have space-separated  
, 
 
, and 
 
.
The next  lines will describe the edges: there is an edge between every pair of integers on the next 
 lines. Edges will not be repeated in the input.
 of the test data will additionally have 
.
Output Specification
Output  lines, the answer for vertex number 
 on line 
.
Sample Input 1
6 7 1
1 2
2 3
1 4
2 5
4 6
3 4
2 6
Sample Output 1
3
5
3
4
2
3
Sample Input 2
4 6 1
1 2
1 3
1 4
2 3
2 4
3 4
Sample Output 2
4
4
4
4
Comments
I assumed this would essentially be an all pairs shortest path preprocessing step but it appears that is too slow. Any hints on the type of algorithm to look into for this? A tree reroot with a general graph exploration to establish search tree depth first seemed like a decent idea but I can't see how you can reroot with a graph vs a tree.
Is this question solvable in python?