| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
有可能a>b;改过后可AC,不过算法是n^2的。。。。In Reply To:哪位大虾帮我看一下为什么WA? Posted by:tigerhy1 at 2005-04-25 13:45:44 > #include <stdio.h>
>
> int l1,l2,l3,c1,c2,c3;
> int n;
> int a,b;
> int distance[20002];
> int cost[20002];
> int i,j,td;
>
> main()
> {
> //freopen("2355.in","r",stdin);
> //freopen("2355.out","w",stdout);
> scanf("%d%d%d%d%d%d",&l1,&l2,&l3,&c1,&c2,&c3);
> scanf("%d",&n);
> scanf("%d%d",&a,&b);
> for (i=2; i<=n; i++) scanf("%d",&distance[i]);
> distance[1]=0;
> for (i=1; i<=n; i++) cost[i]=1500000000;
> cost[a]=0;
> for (i=a; i<=b; i++)
> {
> for (j=i+1; j<=b; j++)
> {
> td=distance[j]-distance[i];
> if (td<=l3)
> {
> if (td==0) cost[j]=cost[i];
> if (td>0 && td<=l1 && cost[i]+c1<cost[j]) cost[j]=cost[i]+c1;
> if (td>l1 && td<=l2 && cost[i]+c2<cost[j]) cost[j]=cost[i]+c2;
> if (td>l2 && cost[i]+c3<cost[j]) cost[j]=cost[i]+c3;
> }
> else break;
> }
> }
> printf("%d\n",cost[b]);
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator