打印

判断结点连通的代码

判断结点连通的代码

p q是判断是否连同的结点
#include <stdio.h>
#define N 5
int main()
{
    int t,i,p,q,id[N];

    while ( scanf("%d %d\n",&p,&q))
    {
         for(i=p;i!=id;i=id);
                      for(j=q;j!=id[j];j=id[j];
                      if (i==j)continue;
                      id=j;
                      printf("%d %d\n",p,q);
                     
    }
    return 0;
}

看不懂这段代码,请帮忙解释一下,谢谢了

TOP

。。。。。。OI程序千万不要看别人写的。。。
这可以看别人写的思路。。。
因为OIer从来就没写过正常程序。。。
到处是Bad Smell。。。
几乎永远要refact....
Mike

TOP

Algorithms in C?
我觉得楼主应该先把问题描述的清楚一点。没看过algorithm  ch1  introduction的人可能都不清楚指什么连同。
你程序完整么?

慢慢来吧。楼主,我想你多花点时间也能找到作者思路。
上天保佑我的家人健康幸福!

TOP

OI是什么?
上天保佑我的家人健康幸福!

TOP

[quote:613119add1="sagaeon"]Algorithms in C?
我觉得楼主应该先把问题描述的清楚一点。没看过algorithm  ch1  introduction的人可能都不清楚指什么连同。
你程序完整么?

慢慢来吧。楼主,我想你多花点时间也能找到作者思路。[/quote]
晕,难道连通的概念需要我去研究整本算法书吗,我想我还不至于理解错了连通的概念,不过谢谢帮助

TOP

我是看了algorithm in c才知道你说的连通是什么意思。我是说别人不知道。

你以为很明了的东西别人不一定知道。
另,程序完整么?
上天保佑我的家人健康幸福!

TOP

程序完整,我是看的例子

TOP

不过不是正版,不知道是不是书上写错了,我也感觉这个程序有问题

TOP

Re: 判断结点连通的代码

[quote:cefcbdb857="dusx1981"]p q是判断是否连同的结点
#include <stdio.h>
#define N 5
int main()
{
    int t,i,p,q,id[N];

    while ( scanf("%d %d\n",&p,&q))
    {
         for(i=p;i!=id;i=id);
                      for(j=q;j!=id[j];j=id[j];
                      if (i==j)continue;
                      id=j;
                      printf("%d %d\n",p,q);
                     
    }
    return 0;
}

看不懂这段代码,请帮忙解释一下,谢谢了[/quote]

这是在找输入节点的根。如果具有相同的根则连同。
否则就把他们连同。
我觉得写得挺好的~~
故都的秋

TOP

这是在找输入节点的根。如果具有相同的根则连同。
否则就把他们连同。
我觉得写得挺好的~~
[/quote]
能否解释的详细些

TOP