好傻逼呀,二分+spfa,没了。
结果数据坑爹,有一行最后有一个空格,坑死了。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define maxn 210
#define eps 1e-7
#define inf 1000000000
using namespace std;
double dis[40010];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
int a[maxn][maxn];
bool vis[40010];
int next[200010],to[200010],head[40010],q[40010];
double len[200010];
int num,n,m,cnt,s,t,T;
double L;
void addedge(int x,int y,double z)
{
num++;to[num]=y;len[num]=z;next[num]=head[x];head[x]=num;
}
double calc(double x)
{
memset(head,0,sizeof(head));
num=0;
for (int i&