JT4为啥MLE求问
  • 板块学术版
  • 楼主so_find_skind
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/23 13:31
  • 上次更新2023/11/2 11:44:12
查看原帖
JT4为啥MLE求问
756179
so_find_skind楼主2023/10/23 13:31
#include<bits/stdc++.h>
using namespace std;
long long cnt;
struct eg{
    long long v,w;
};
struct ge{
    long long a,b,c;
};
vector<eg>g[10005];
vector<ge>ti;
long long n,m,k,ans=0x3f3f3f3f;
void dfs(long long u,long long t,long long r,long long j){
    if(u==n){
        if(t%k==0){
            ans=t;
            ti.push_back({t,r,j});
        }
        return ;
    }
    for(int i=0;i<g[u].size();i++){
        eg v=g[u][i];
        if(v.w>t && v.w-t>r-j)
            r=v.w,j=t;
        dfs(v.v,t+1,r,j);
    }
}
int main(){
    cin>>n>>m>>k;
    for(int i=1,u,v,w;i<=m;i++){
        cin>>u>>v>>w;
        g[u].push_back({v,w});
    }
    dfs(1,0,0,0);
    if(ans==0x3f3f3f3f){
        cout<<-1;
        return 0;
    }
    ans=0x3f3f3f3f;
    for(int i=0;i<ti.size();i++){
        ge q=ti[i];
        ans=min(ans,(q.b-q.c+k-1)/k*k+q.a);
    }
    cout<<ans;
    return 0;
}
2023/10/23 13:31
加载中...