讨论 / 超时了9个点,不可能吧
lyt9469 2010-05-05 22:00:00
点我顶贴 收藏 删除
各位大牛,帮忙看看,错在哪里了,竟然超时了9个点,好郁闷啊~~

拜托拜托了!!

状态: Unaccepted

测评机: Xeost[5]

得分: 10分

提交日期: 2010-5-6 12:54:00

有效耗时: 484毫秒

测试结果1: 通过本测试点|有效耗时484ms

测试结果2: 选手程序运行超过时限

测试结果3: 输出过长|用户输出数据超过标准输出两倍[标准输出1位|选手输出4位]

测试结果4: 选手程序运行超过时限

测试结果5: 输出过长|用户输出数据超过标准输出两倍[标准输出1位|选手输出4位]

测试结果6: 选手程序运行超过时限

测试结果7: 选手程序运行超过时限

测试结果8: 选手程序运行超过时限

测试结果9: 选手程序运行超过时限

测试结果10: 选手程序运行超过时限

#include<iostream>

using namespace std;

int main()

{

int i,j,k,n,x,y;

cin>>n;

int *father=new int[n+1];

bool *visit=new bool[n+1];

for(i=1;i<=n;i++) {father[i]=i;visit[i]=0;}

for(i=1;i<=n-1;i++)

{

cin>>x>>y;

father[y]=x;/*y的父亲是x*/

}

cin>>x>>y;

while(x!=father[x]) {visit[x]=1;x=father[x];} visit[x]=1;/*x不是根,往上找父亲,这样结束后,与x有关的点都被访问过了*/

while(!visit[y]) y=father[y];

cout<<y<<endl;

return 0;

}

查看更多回复
提交回复