【题解】cooking
来源:互联网 发布:网络基础知识ppt 编辑:程序博客网 时间:2024/06/08 15:39
【例程】#include<cstdio>
#include<cstring>
using namespace std;
const int oo=6666666;
int a,b,len,ans;
int num[501][501],dis[501];
int t,f,p;
int main()
{
memset(num,0,sizeof(num));
scanf("%d%d%d",&t,&f,&p);//time,field,path
for(int i=0;i<p;++i)
{
scanf("%d%d%d",&a,&b,&len);
num[a][b]=num[b][a]=len;
}
for(int i=1;i<=f;++i)
dis[i]=oo;
dis[1]=0;
for(int i=1;i<=f;++i)
{
for(int j=1;j<=f;++j)
if(num[i][j]>0&&dis[i]+num[i][j]<dis[j])
dis[j]=dis[i]+num[i][j];
}
ans=1;
for(int i=2;i<=f;++i)
if(dis[i]<=t)
++ans;
printf("%d\n",ans);
return 0;
}
#include<cstdio>
#include<cstring>
using namespace std;
const int oo=6666666;
int a,b,len,ans;
int dis[501];
int t,f,p;
struct hehe
{
int a,b,len;
};
hehe num[10001];
int main()
{
freopen("cooking.in","r",stdin);
freopen("cooking.out","w",stdout);
scanf("%d%d%d",&t,&f,&p);//time,field,path
for(int i=1;i<=p;++i)
{
scanf("%d%d%d",&num[i].a,&num[i].b,&num[i].len);
}
for(int i=1;i<=f;++i)
dis[i]=oo;
dis[1]=0;
for(int i=1;i<=f;++i)
{
for(int j=1;j<=p;++j)
{
if(dis[num[j].a]>dis[num[j].b]+num[j].len)
dis[num[j].a]=dis[num[j].b]+num[j].len;
if(dis[num[j].b]>dis[num[j].a]+num[j].len)
dis[num[j].b]=dis[num[j].a]+num[j].len;
}
}
ans=1;
for(int i=2;i<=f;++i)
if(dis[i]<=t)
++ans;
printf("%d\n",ans);
return 0;
}
- 【题解】cooking
- ZOJ 3958 Cooking Competition 题解
- Cooking
- cooking
- cooking处理
- Cooking 笔记
- FOOD COOKING
- Cooking food
- Cooking Competition
- Cooking Competition
- Cooking Competition
- illegal cooking oil
- Kaggle:What's Cooking?
- ZOJ 3958 Cooking Competition
- ZOJ 3958 Cooking Competition【】
- zoj 3958 Cooking Competition
- ZOJ3958-Cooking Competition
- ZOJ3958 Cooking Competition
- SQLITE3 使用总结
- 【总结】2015.12.20CXB
- SQLite3 数据库使用
- 【题解】局域网(net)
- 用Gvim建立IDE编程环境 (Windows篇)
- 【题解】cooking
- exit和return的区别
- 代码的抽象三原则
- Bartender打印和导出图片
- 【题解】最短路径四题
- 设计模式中类的关系
- 【转载】树状数组(简单)
- 上一个十年,下一个十年
- 【kuandui】二叉堆