2003年高程下午第六题(C++)的讨论。

jiajia181181 2003-10-14 10:39:46
关于第六题,我将outputpath(int i,int j)写一下,请大家再想想看,到底如何填。
outputpath(int i,int j)
{
if(i==j)return;
if(kay[i][j]==0)cout<<j<<" ";
else
{ outputpath(i,4);
outputpath( 5 )}
我想kay[i][j]开始已初始化为0,就看怎样输出最短路径的接点了,如果4填kay[i][j],那么当kay[i][j]有值时,就输不出k了,同样5也是一样,所以我考虑这样填比较合理些。
4。kay[kay[i][j]][kay[i][j]]
5.kay[kay[i][j]][kay[i][j]],j
因为kay[k][k]=0;能够输去k.
大家认为如何,望加以评论。
...全文
109 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
langtz 2003-10-14
  • 打赏
  • 举报
回复
请问选了C++,但是没有在答题纸上钩一下,会不会有问题?
急!!!
johncdc 2003-10-14
  • 打赏
  • 举报
回复
kay[i][j]=k就是i,j中最少路径经过K,即i->k->j比I->J短。如果KAY[I][J]=0就是没有最短路径经过的点,就是输出j,j点最短.否则有一点K,i->k->j最短。再i->k,k->j求k',k''直到KAY[I][J]=0,这样可能大家更容易想清楚
int k
if(i==j)return;
k=kay[i][j]
if(k==0)cout<<j<<" ";
else
{ outputpath(i,4);
outputpath( 5 )}

所以应该是这样
outputpath(i,k)
outputpath(k,j)?
idcto 2003-10-14
  • 打赏
  • 举报
回复
你说的是t1+t2那题,还是上面的?
luming711115 2003-10-14
  • 打赏
  • 举报
回复
i和j之间可能有多个间隔节点
idcto 2003-10-14
  • 打赏
  • 举报
回复
那个t1+t2写成c[i][k]+c[k][j],可以吗?
你说的,我再想想,你还记得题啊,好记性!!!
jiajia181181 2003-10-14
  • 打赏
  • 举报
回复
哦,我错了,扣6分啊。看来下午通过有点问题了。
WalkWorld 2003-10-14
  • 打赏
  • 举报
回复
我也是 kay[i][j]
kay[i][j], j
Korny 2003-10-14
  • 打赏
  • 举报
回复
kay[i][j]
kay[i][j],j比较合理
wangjunandy 2003-10-14
  • 打赏
  • 举报
回复
我的答案:
4: kay[i][j];
5: kay[i][j],j;

2,958

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧