社区讨论
关于懒癌
学术版参与者 25已保存回复 92
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 92 条
- 当前快照
- 1 份
- 快照标识符
- @loceux4v
- 此快照首次捕获于
- 2023/10/30 12:39 2 年前
- 此快照最后确认于
- 2023/11/05 00:18 2 年前
http://115.236.49.55:83/attachment/7502/problem.pdf
CPP#include<bits/stdc++.h>
using namespace std;
inline long long read()
{
long long s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
inline void write(long long x)
{
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10+'0');
}
struct node
{
long long v,w,next;
}e[100005];
long long eid=1,head[100005];
inline void insert(long long u,long long v,long long w)
{
e[eid].v=v;
e[eid].w=w;
e[eid].next=head[u];
head[u]=eid++;
}
long long flag=0,n,m,c,u,v,w,dp[3005][3005];
inline long long dfs(long long u,long long fa,long long step)
{
if(u==v)
{
flag=1;
return step;
}
for(long long i=head[u];i;i=e[i].next)
{
long long v=e[i].v;
if(v!=fa)
{
if(flag)
{
return step;
}
return dfs(v,u,step+1);
}
}
}
int main()
{
n=read();
m=read();
c=read();
for(long long i=0;i<=200;i++)
{
for(long long j=0;j<=200;j++)
{
dp[i][j]=0x3f3f3f3f;
}
}
for(long long i=1;i<=m;i++)
{
u=read();
v=read();
w=read();
dp[u][v]=w;
insert(u,v,w);
}
for(long long k=1;k<=n;k++)
{
for(long long i=1;i<=n;i++)
{
if(i!=k)
for(long long j=1;j<=n;j++)
{
if(i!=j&&j!=k)
{
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]);
}
}
}
}
for(long long i=1;i<=c;i++)
{
u=read();
v=read();
if(dp[u][v]!=0x3f3f3f3f)
{
write(dp[u][v]);
putchar(' ');
flag=0;
write(dfs(u,-1,0));
}
else
{
printf("Windows is the best!");
continue;
}
puts("");
}
}
哪错
回复
共 92 条回复,欢迎继续交流。
正在加载回复...