POJ3439 Server Relocation bfs
来源:互联网 发布:c语言判断是否为数字 编辑:程序博客网 时间:2024/06/06 08:34
BFS 很基础的一道bfs。
只要注意坐标用double即可。
用int会溢出wa。
#include<stdio.h>
#include<memory.h>#include<math.h>
int n,start,end;
double len1,len2;
const int N=1005;
struct node
{
double x,y;
}outlet[N];
double mat[N][N];
bool visit[N];
int dis[N];
const int inf=99999999;
int que[999999];
void bfs()
{
int head=1,tail=1;
que[tail++]=start;
dis[start]=0;
visit[start]=true;
while(head<tail&&!visit[end])
{
int now=que[head++];
for(int i=1;i<=n;i++)
{
if(mat[now][i]<=len1+len2&&!visit[i])
{
dis[i]=dis[now]+1;
visit[i]=true;
que[tail++]=i;
}
}
}
if(!visit[end])
printf("Impossible\n");
else
printf("%d\n",dis[end]);
}
int main()
{
//freopen("C:\\Users\\wuyanyisb\\Desktop\\1.txt","r",stdin);
int cases;
scanf("%d",&cases);
while(cases--)
{
scanf("%d%d%d%lf%lf",&n,&start,&end,&len1,&len2);
memset(mat,0,sizeof(mat));
memset(visit,0,sizeof(visit));
memset(dis,0,sizeof(dis));
for(int i=1;i<=n;i++)
{
scanf("%lf%lf",&outlet[i].x,&outlet[i].y);
}
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
mat[i][j]=mat[j][i]=sqrt(double((outlet[i].x-outlet[j].x)*(outlet[i].x-outlet[j].x))+double((outlet[i].y-outlet[j].y)*(outlet[i].y-outlet[j].y)));
}
bfs();
}
return 0;
}
- POJ3439 Server Relocation bfs
- ZOJ 2887 Server Relocation(BFS)
- poj 3439 Server Relocation 最短路bfs
- POJ - 2923 Relocation(BFS+状态压缩)
- Relocation
- zoj 2887 || poj 3439 Server Relocation
- poj3439(广搜)
- poj2923 Relocation
- poj2923 Relocation
- poj2923 Relocation
- 【POJ2923】Relocation
- poj2923 Relocation
- 【POJ2923】【Relocation】
- relocation介绍
- 拆迁费 relocation compensation
- ffmpeg relocation error
- Relocation the generic ELF
- poj 2923 Relocation
- GridView,DataList控件获取当前行的行号
- UI效果(5): 实现Activity刷新
- Windows跨进程设置文本和发送消息
- 一个Boot Sector
- 不解压光盘,直接用GRUB引导硬盘安装openSUSE
- POJ3439 Server Relocation bfs
- Jquery 判断是否有checkbox 被选中
- Java内存解析
- 关于nfs,远程mount的两个配置文件 /etc/export /etc/fstab
- 十年生死两茫茫
- Sql语句查询当天本周本月记录的where条件
- 用组策略彻低禁止USB存储设备、光驱、软驱、ZIP软驱
- 20岁靠勤奋,30岁靠智慧,40岁靠经验,50岁靠财富
- MorningSir AlarmClock HD(Description and Support)