POJ PKU 3328 最短路 模拟
(2010-09-21 21:04:57)
标签:
pojpku3328最短路模拟it |
分类: 图论 |
题目描述:
从地图最下一行的S出发,到最上一行的T,S,T任去一个现存的即可。
同时每个点有左右脚之分,左脚在这个点,那么下一步只能迈右脚向右侧指定的9个点走,同理右脚在一个点只能用左脚走左侧指定的9个点。
问到T的最短路。
解题报告:
每个点看成2个点(左右脚各一个),一共是60*30*2个点。
每个点可到达的点也记下来,算作一条边。
这样就转化成求最短路了。spfa解之。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define size 2000
struct edge{int to, next, val;}e[10000000];
int v[size][2], cnt, d[size][2], que[size * 50][2];
bool vst[size][2];
void insert(int from, int id, int to, int val)
{
}
int h, w;
void spfa(int sta, int n, int d[][2])
{
}
char g[80][80], str[3];
int move[2][9][2] =
{{0, 1, 0, 2, 0, 3, 1, 1, 1, 2, 2, 1, -1, 1, -1, 2, -2, 1},
void judge(int id, int a, int b)
{
}
int main()
{

加载中…