Ah ah, the last article, has more than 0 points, I also intend to write a first time to work to make money to do the feeling of tutoring ...
Then there is time to do the final question, it is not very difficult to roar?
Title Link: http://acm.uestc.edu.cn/#/problem/show/32
Very simple topic, compare a tree with a root tree of two nodes which height.
Similarly, the use of a wide search. Do not ask why I call a wide search, do not let me pressure code to look like, programming is an art ...
Maybe I should standardize the naming of const variables, for example.
#include <cstdio> #include <cstring>using namespace std;const int maxn = 100005;int N, m;int G[MAXN], TO[MAXN], NEXT[MAXN], E;int root, Father[maxn];int QUEUE[MAXN], head, tail, Depth[maxn];int nextint () {char C; while (C = GetChar ( )) < ' 0 ' | | C > ' 9 '); int r = C-' 0 '; while ((c = GetChar ()) >= ' 0 ' && C <= ' 9 ') (r *=) + = C-' 0 '; return r;} void Addedge (int u, int v) {Next[e] = G[u]; To[e] = v; g[u] = e++;} void BFs (int root) {memset (depth, 0, sizeof depth); for (queue[head = tail = 0] = root; head <= tail; ++head) for (int E = G[queue[head]], child = to[e]; ~e; Child = To[e = Next[e]]) if (child! = Father[queue[head]]) depth[child] = Depth[queue[head]] + 1, queue[++tail] = child;} int main () {while ((N = Nextint ()) && (M = Nextint ())) {memset (g,-1, sizeof g); e = 0;memset (father, 0, sizeof FA ther); for (int i = 1; i < N; ++i) {int A = Nextint (), B = Nextint (); Addedge (A, B); father[b] = A;} for (int i = 1; I <= N; ++i) if (!father[i]) {root =I break;} BFS (Root), while (m--) {int X = Nextint (), Y = Nextint (), if (Depth[x] <= depth[y]) puts ("Lxh"); else puts ("PFZ");}} return 0;}
OK, I'll write a real line to search. In fact, the above BFS just changed the variable name and added a space and line, some variable names slightly changed, can be compared to the above BFS function.
for(q[h=t=0]=rt;h<=t;++h)for(int e=g[q[h]];~e;e=nxt[e])if(to[e]!=p[q[h]])d[to[e]]=d[q[h]]+1,q[++t]=to[e];
Kill me, this piece of code is too ugly.
Cdoj 32 Tree War (Battle on the tree) Problem solving report