| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:一直WA,不明白为什么,谁能给个测试数据呀In Reply To:一直WA,不明白为什么,谁能给个测试数据呀 Posted by:mountainhigh at 2011-05-05 22:26:44 > #include<iostream>
> #include<cstring>
> using namespace std;
> int N,M;
> struct fork
> {
> int parent,num,flag;
> }c[100100];
> int main()
> {
> int i,j,x,y,lj;
> char q;
> cin>>N;
> for(i=1;i<=N;i++)
> {
> c[i].parent=0;
> c[i].num=1;
> c[i].flag=1;
> }
> for(i=0;i<N-1;i++)
> {
> cin>>x>>y;
> if(x>y)
> {
> int chang;
> chang=x;x=y;y=chang;
> }
> c[y].parent=x;
> lj=x;
> while(c[lj].parent)
> {
> c[lj].num+=c[y].num;
> lj=c[lj].parent;
> }
> c[1].num+=c[y].num;
> }
> cin>>M;
> for(i=0;i<M;i++)
> {
> cin>>q;
> cin>>j;
> if(q=='Q')
> cout<<c[j].num<<endl;
> else
> {
> if(c[j].flag==1)
> {
> c[j].flag=0;
> lj=j;
> while(c[lj].parent)
> {
> c[lj].num--;
> lj=c[lj].parent;
> }
> c[1].num--;
> }
> else
> {
> c[j].flag=1;
> lj=j;
> while(c[lj].parent)
> {
> c[lj].num++;
> lj=c[lj].parent;
> }
> c[1].num++;
> }
> }
> }
> return 0;
> }
>
>
>
>
> 感觉是建边是方向搞错了
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator