Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

老是RTE.............

Posted by gmsr_killer at 2008-04-07 20:52:20 on Problem 1062
#include <iostream>

using namespace std;

struct data
{
	long long price,level,changen;
	long long nextlable[201],nextprice[201];
}a[201];
long long m,n,i,j;
long long aar[201],ret[201];

long long work (long long now,long long left,long long right)
{
	long long i,minnum=a[now].price;
	for (i=0;i<a[now].changen;i++)
	    if ((a[a[now].nextlable[i]].level>=left)&&(a[a[now].nextlable[i]].level<=right)) {
                                                                                         if (aar[a[now].nextlable[i]]!=-1) minnum=min(minnum,aar[a[now].nextlable[i]]+a[now].nextprice[i]);
                                                                                                                           else minnum=min(minnum,work(a[now].nextlable[i],max(left,a[a[now].nextlable[i]].level-m),min(right,a[a[now].nextlable[i]].level+m))+a[now].nextprice[i]);
                                                                                         }
    aar[now]=minnum;
	return (minnum);
}

int main ()
{
	cin>>m>>n;
	for (i=1;i<=n;i++)
	    {
	    cin>>a[i].price>>a[i].level>>a[i].changen;
	    for (j=0;j<a[i].changen;j++)
	        cin>>a[i].nextlable[j]>>a[i].nextprice[j];
        aar[i]=-1; 
        ret[i]=1;
        }
    cout<<work (1,a[1].level-m,a[1].level+m)<<endl;
	return (0);
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator