| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 585 人关注过本帖
标题:我在雨中飞燕的论坛里看到这个了
取消只看楼主 加入收藏
GNUREN
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-10-3
收藏
 问题点数:0 回复次数:2 
我在雨中飞燕的论坛里看到这个了
有个人在哭,他的这个错在哪,
是邮递员那道题,不知道那人知道错哪了没

#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#define N 10000

struct Draw
{
int ke;
int data;
Draw* next; //
};

int Sun(Draw* MN,int begin,int end)
{
int sn=0;
int MX[N+1]={0};
int* head,*yet,*zhong;
Draw *p;
zhong=head=yet=MX;
*yet=begin;
while(*head)
{
p=MN+*head-1;
while(p&&(int)p!=0xcdcdcdcd)
{
if(end==p->data)
return sn;
else if(!MN[p->data-1].ke)
{
++yet;
*yet=p->data;
MN[p->data-1].ke=1;
}
p=p->next;
}
if(head==zhong)
{
sn+=1;
zhong=yet;
}
head++;
}
return -1;
}

void Pi(Draw* MN,int i,int j)
{
if(0!=MN[i-1].data)
{
Draw* p,*q=MN[i-1].next;
p=new Draw;
p->ke=0;
p->data=j;
MN[i-1].next=p;
p->next=q;
}
else
MN[i-1].data=j;
}
void Delete(Draw* MN,int n)
{
int i;
Draw* p,*q;
for(i=0;i<n;i++)
{
p=MN[i].next;
while(p&&(int)p!=0xcdcdcdcd)
{
q=p;
p=p->next;
delete q;
}
}
delete[] MN;
}

int main(void)
{
int n,k,i,j,p;
Draw* MN;
while(scanf("%d%d",&n,&k)&&n&&k)
{
MN=new Draw[n];
for(p=0;p<n;p++)
{
MN[p].ke=0;
MN[p].data=0;
}
for(p=0;p<k;p++)
{
scanf("%d%d",&i,&j);
Pi(MN,i,j);
Pi(MN,j,i);
}
scanf("%d%d",&i,&j);
p=Sun(MN,i,j);
if(p>=0)
printf("%d\n",p);
else
printf("No solution\n");
Delete(MN,n);
}
return 0;
}
搜索更多相关主题的帖子: 飞燕 论坛 
2007-11-14 19:52
GNUREN
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-10-3
收藏
得分:0 
struct Draw
{
int ke;
int data;
struct Draw* next; //建议那人加个这是struct
};


算法倒是在正确的。。。
不知道雨中飞燕算法到什么程度了
我请教之

问君何能尔,心远地自偏。 采菊东篱下,悠然见南山。
2007-11-14 20:00
GNUREN
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-10-3
收藏
得分:0 
还有时间限制
看来我要写,也完蛋

问君何能尔,心远地自偏。 采菊东篱下,悠然见南山。
2007-11-14 20:03
快速回复:我在雨中飞燕的论坛里看到这个了
数据加载中...
 
   



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

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