| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 834 人关注过本帖
标题:一道信息学奥赛题,请帮忙解一下。
只看楼主 加入收藏
zxxdyx0124
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-8-5
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:14 
一道信息学奥赛题,请帮忙解一下。
#include <stdio.h>
#define V 100
int n, m, ans, e[V][V], visited[V];
void dfs(int x, int len)
{
int i;
visited[x] = 1;
if (len > ans)
ans = len;
for (i = 1; i <= n; i++)
if ((visited[i] == 0) && (e[x][i] != -1))
dfs(i, len + e[x][i]);  
visited[x] = 0;
}
int main()
{
int i, j, a, b, c;
scanf("%d%d", &n, &m);
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
e[i][j] = -1;
for (i = 1; i <= m; i++) {
scanf("%d%d%d", &a, &b, &c);
e[a][b] = c;
e[b][a] = c;
}
for (i = 1; i <= n; i++)
visited[i] = 0;
ans = 0;
for (i = 1; i <= n; i++)
dfs(i, 0);
printf("%d\n", ans);
return 0;
}
输入:
4 6
1 2 10
2 3 20
3 4 30
4 1 40
1 3 50
2 4 60
输出:____150_____
程序没有问题,可是我在主函数第四次调用dfs时就出不来这个答案,请高手指点。
搜索更多相关主题的帖子: include 信息学 
2012-08-05 23:11
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:4 
虽然你是妹纸,虽然你是新人,但是该说的我还想说下,把你的代码排好再发上来好么?从头到尾一个缩进都没有,这样的代码你自己看着感觉舒服么?
2012-08-05 23:16
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:4 
程序代码:
#include <stdio.h>
#define V 100
int n, m, ans, e[V][V], visited[V];
void dfs(int x, int len)
{
    int i;
    visited[x] = 1;
    if (len > ans)
        ans = len;
    for (i = 1; i <= n; i++)
        if ((visited[i] == 0) && (e[x][i] != -1))
            dfs(i, len + e[x][i]); 
    visited[x] = 0;
}
int main()
{
    int i, j, a, b, c;
    scanf("%d%d", &n, &m);
    for (i = 1; i <= n; i++)
        for (j = 1; j <= n; j++)
            e[i][j] = -1;
    for (i = 1; i <= m; i++) {
        scanf("%d%d%d", &a, &b, &c);
        e[a][b] = c;
        e[b][a] = c;
    }
    for (i = 1; i <= n; i++)
        visited[i] = 0;
    ans = 0;
    for (i = 1; i <= n; i++)
        dfs(i, 0);
    printf("%d\n", ans);
    return 0;
}


搞不懂为啥很多人帖代码不带缩进呢
2012-08-05 23:25
zxxdyx0124
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-8-5
收藏
得分:0 
#include <stdio.h>
#define V 100
int n, m, ans, e[V][V], visited[V];
void dfs(int x, int len)
{
       int i;
       visited[x] = 1;
        if (len > ans)
           ans = len;
           for (i = 1; i <= n; i++)
              if ((visited[i] == 0) && (e[x][i] != -1))
                  dfs(i, len + e[x][i]);  
              visited[x] = 0;
     }
  int main()
    {
           int i, j, a, b, c;
           scanf("%d%d", &n, &m);
           for (i = 1; i <= n; i++)
              for (j = 1; j <= n; j++)
                e[i][j] = -1;
          for (i = 1; i <= m; i++) {
              scanf("%d%d%d", &a, &b, &c);
              e[a][b] = c;
              e[b][a] = c;
           }
  for (i = 1; i <= n; i++)
        visited[i] = 0;
        ans = 0;
  for (i = 1; i <= n; i++)
       dfs(i, 0);
       printf("%d\n", ans);
  return 0;
}
这样可以了吗??
2012-08-05 23:27
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:4 
程序没有问题,可是我在主函数第四次调用dfs时就出不来这个答案
我真不知道该怎么理解这句话。


重剑无锋,大巧不工
2012-08-05 23:27
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 4楼 zxxdyx0124
缩进也要有规矩,不要乱缩进。

重剑无锋,大巧不工
2012-08-05 23:28
zxxdyx0124
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-8-5
收藏
得分:0 
那你懂这个程序吗????高手??
2012-08-05 23:29
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
我上面是自动缩进的 还不错罢
2012-08-05 23:29
zxxdyx0124
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-8-5
收藏
得分:0 
能解题就谢了,新手才需要帮忙的啊??

2012-08-05 23:30
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:4 
看看几位高高手,哈啦子流的
2012-08-05 23:33
快速回复:一道信息学奥赛题,请帮忙解一下。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013364 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved