68 条题解
-
-1格古洛 LV 7 @ 2007-08-25 20:09:47
初看题目,以为和盖房子一题有共同之处,结果硬写状态转移方程,头都想破了,毫无进展
我的解法好象和楼下my bonnie的解法差不多,似乎在处理与边界重合时,编麻烦了
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 494ms
├ 测试数据 06:答案正确... 353ms
├ 测试数据 07:答案正确... 462ms
├ 测试数据 08:答案正确... 681ms
├ 测试数据 09:答案正确... 681ms
├ 测试数据 10:答案正确... 322ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:2993ms -
-12007-08-17 20:24:36@
1次A掉
-
-12007-06-29 23:36:46@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 181ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 259ms
├ 测试数据 08:答案正确... 25ms
├ 测试数据 09:答案正确... 41ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:506msmy_bonnie办法没错的了,加上|if (s2-s2)*l/w
-
-12007-05-22 11:23:06@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 369ms
├ 测试数据 06:答案正确... 103ms
├ 测试数据 07:答案正确... 572ms
├ 测试数据 08:答案正确... 478ms
├ 测试数据 09:答案正确... 462ms
├ 测试数据 10:答案正确... 119ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:2103ms
我玩赖.强过4个数据.....别拿砖头扔我... -
-12007-05-10 08:55:16@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 9ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 25ms
├ 测试数据 08:答案正确... 88ms
├ 测试数据 09:答案正确... 88ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:210ms -
-12007-03-28 20:59:02@
1
-
-12007-03-02 17:20:45@
编译通过...
├ 测试数据 01:答案正确... 281ms
├ 测试数据 02:答案正确... 240ms
├ 测试数据 03:答案正确... 271ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:792ms
我的怎么这么奇怪啊......... -
-22017-10-24 19:12:36@
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
vector<int> g[40010];
int min1[40010],min2[40010],min3[40010],dui[50010];
int main()
{
int b,e,p,n,i,m,u,v,head,tail,a,ans;
memset(min1,1,sizeof(min1));
memset(min2,1,sizeof(min2));
memset(min3,1,sizeof(min3));
min1[1]=0;
min2[2]=0;
cin>>b>>e>>p>>n>>m;
min3[n]=0;
for(i=1;i<=m;i++)
{
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);
}
head=1;
tail=1;
dui[1]=1;
while(head<=tail)
{
a=dui[head];
for(i=0;i<g[a].size();i++)
{
if(min1[g[a][i]]>min1[a]+1)
{
tail++;
dui[tail]=g[a][i];
min1[g[a][i]]=min1[a]+1;
}
}
head++;
}
memset(dui,0,sizeof(dui));
head=1;
tail=1;
dui[1]=2;
while(head<=tail)
{
a=dui[head];
for(i=0;i<g[a].size();i++)
{
if(min2[g[a][i]]>min2[a]+1)
{
tail++;
dui[tail]=g[a][i];
min2[g[a][i]]=min2[a]+1;
}
}
head++;
}
memset(dui,0,sizeof(dui));
head=1;
tail=1;
dui[1]=n;
while(head<=tail)
{
a=dui[head];
for(i=0;i<g[a].size();i++)
{
if(min3[g[a][i]]>min3[a]+1)
{
tail++;
dui[tail]=g[a][i];
min3[g[a][i]]=min3[a]+1;
}
}
head++;
}
ans=min1[n]*b+min2[n]*e;
for(i=1;i<=n;i++)
{
ans=min(ans,min1[i]*b+min2[i]*e+min3[i]*p);
}
cout<<ans;
return 0;
}