第三道阅读程序题

程序:

#include <iostream>
using namespace std;
const int V=100;
int n,m,ans,e[V][V];
bool visited[V];
void dfs(int x, int len)
{
    int i;
    visited[x]=true;
    for(int i=1;i<=n;i++)
        if((!visited[i])&&(e[x][i]!=-1))
            dfs(i,len+e[x][i])
    visited[x]=false;
}
int main()
{
    int i,j,a,b,c;
    cin>>n>>m;
    for(i=1;i<=n;i++)
       for(j=1;j<=n;j++)
           e[i][j]=-1;
    for(i=1;i<=m;i++){
        cin>>a>>b>>c;
        e[a][b]=c;
        e[b][a]=c;
    }
    for(i=1;i<=n;i++)
        visited[i]=false;
    ans=0;
    for(i=1;i<=n;i++)
        dfs(i,0);
    cout<<ans<<endl;
}

错题一:

第19行的输入中,如果满足 m=n*(n-1)/2,则20~22行的初始化可以省略。()

正确答案:对

解析:

m=n*(n-1)/2表示是完全图。

错题二:

将第 31 行的代码换成 "for(i=n;i>=1;i--)" 程序结果不受任何影响。()

正确答案:对

解析:

遍历顺序不影响。

错题三:

若输入数据为

4 2

1 2 1

3 4 1

则输出结果是()

A.1                   B.2                C.3                      D.4

正确答案:C

解析: 根据程序执行一遍。

剩余两道错题和错题三差不多,则不写解析。

错题四:

若输入数据为

4 6

1 2 1

2 3 1

3 4 1

4 1 1

1 3 1

2 4 1

则输出结果是()

A.1                   B.2                C.3                      D.4

正确答案:C

错题五:

若输入数据为

4 6

1 2 10

2 3 20

3 4 30

4 1 40

1 3 50

2 4 60

则输出结果是()

A.60                   B.80                C.100                      D.150

正确答案:D

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值