经历去年的“不可以,总司令”
你CCF吸取了惨痛的教训,升级了数据!
成功把一个J-T4代码卡得不如“puts("-1")”!
代码如下:
#include<bits/stdc++.h>
using namespace std;
#define N 20009
struct node{int x,step;}u,v;
struct pp{int to,v;};
queue<node>q;
vector<pp>h[N];
int n,m,k,x,y,z,mn,ans,mx;
bool flag[N];
void bfs(int st)
{
while(!q.empty()) q.pop();
q.push({1,st});
while(!q.empty())
{
u=q.front();
q.pop();
if(u.x==n)
{
if(u.step%k==0)
{
ans=u.step;
return;
}
}
for(int i=0;i<h[u.x].size();i++)
{
v={h[u.x][i].to,u.step+1};
if(u.step<h[u.x][i].v) continue;
q.push(v);
}
}
}
int main()
{
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);
h[x].push_back(pp{y,z});
}
mn=k*10000;
for(int i=0;i<=mn;i+=k)
{
ans=0x3f3f3f3f;
bfs(i);
if(mn>ans) mn=ans;
}
if(mn==k*1000) printf("-1\n");
else printf("%d\n",mn);
return 0;
}
90pts(洛谷)->15pts(小图灵)->0pts(CCF)
屑屑chen_zhe大大的毒奶,“CCF的数据”爆零了!