| 比赛 |
寒假集训2 |
评测结果 |
AAAAAATTTATTAAAAAAAA |
| 题目名称 |
回家路线 |
最终得分 |
75 |
| 用户昵称 |
Ruyi |
运行时间 |
6.526 s |
| 代码语言 |
C++ |
内存使用 |
5.60 MiB |
| 提交时间 |
2026-02-25 11:47:32 |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define N 200001
using namespace std;
ll n,m,A,B,C,x[N],y[N],p[N],q[N],ans=1e18;
bool vis[N];
void dfs(ll u,ll t,ll v){
if(u==n){
if(t+v<ans){
ans=t+v;
return ;
}
}
for(int i=1;i<=m;i++){
if(!vis[i]&&x[i]==u&&p[i]>=t){
vis[i]=1;
ll ls=p[i]-t;
dfs(y[i],q[i],v+ls*ls*A+ls*B+C);
vis[i]=0;
}
}
}
int main() {
freopen("rout.in","r",stdin);
freopen("rout.out","w",stdout);
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>A>>B>>C;
for(int i=1;i<=m;i++) cin>>x[i]>>y[i]>>p[i]>>q[i];
for(int i=1;i<=m;i++)
if(x[i]==1) dfs(1,0,0);
cout<<ans<<endl;
return 0;
}