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

WA 了很多次了。。。不知道怎么必改啊??求牛人帮忙

Posted by dwq at 2010-03-17 22:38:06 on Problem 1062
//  很郁闷啊~~~~~~~
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;

struct person
{
	int pri;
	int pos;
} node[110];

int road[110][110];
int mark[110], ans[110];
int t,n,maxpos,minpos;

void find(int k)
{
	int i;
	if(ans[k] != -1)
		return;
	else
	{
		ans[k] = node[k].pri;
		for(i=1; i<110; i++)
		{
			if(road[k][i] != -1 )
			{
				if(minpos > node[i].pos)
					minpos = node[i].pos;
				if(maxpos < node[i].pos)
					maxpos = node[i].pos;
				if( maxpos - minpos <= t )
				{				
				if(ans[i] == -1)
					find(i);
				if(ans[i] + road[k][i] < ans[k])
					ans[k] = ans[i] + road[k][i];
				}
            	maxpos = node[k].pos;
            	minpos = node[k].pos;
			}
		}
	}
	return ;
}

int main()
{
	int i,j,m,a,p;
	for(i=0; i<110; i++)
		for(j=0; j<110; j++)
			road[i][j] = -1;
	for(i=1; i<110; i++)
		ans[i] = -1;
	cin>>t>>n;
	for(i=1; i<=n; i++)
	{
		cin>>node[i].pri>>node[i].pos>>m;
		for(j=0; j<m; j++)
		{
			cin>>a>>p;
			road[i][a] = p;
		}
	}
	maxpos = node[1].pos;
	minpos = node[1].pos;
	find(1);
		cout<<ans[1]<<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