题目
题意: 给定有向图,求从1到n的最短路。附加了第二边权,钱。要求求得的最短路为使用钱数不超过limit的最短路. n = 100,m = 10000
思路: n很小,直接dfs搜索满足条件的路径。
或者用Dijkstra,但是与传统的用法不同。只要满足使用钱数>all>>n>>m;
while(m--)
{
int x,y,z,z2; cin>>x>>y>>z>>z2;
add(x,y,z,z2);
}
dfs(1,0,0);
coutT;
// read(T);
while(T--)
{
solve();
}
return 0;
}
#include
#include
#include
#include
#include
#include
#include
#include
// #include
#include
#include
#include
#include
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;iz2;
add(x,y,z,z2);
}
Dij(1);
if(ans == 1e9) ans = -1;
coutT;
// read(T);
while(T--)
{
solve();
}
return 0;
}
