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

为什么会runtime error啊,实在看不出来什么错,不得已贴个代码,哪位大大帮忙看看

Posted by anotherh at 2006-05-20 12:05:56 on Problem 2394
/*pku 2394*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 505
#define MAX 70005
int t[N][N];
int f,p,c,m;
int find[N],need[N],out[N];

void init()0/*初始化*/
{
    int ii,jj;
    memset(find,0,sizeof(find));
    for(ii=1;ii<=f;ii++)
        for(jj=1;jj<=f;jj++)
            t[ii][jj]=MAX;
}

void dijk()
{
    int min,ii,jj,begin;
    
    for(ii=1;ii<=f;ii++)
        need[ii]=t[1][ii];
    find[1]=1;need[1]=0;

    for(ii=1;ii<=f;ii++)
    {
        min=MAX;
        for(jj=2;jj<=f;jj++)
            if(!find[jj]&&need[jj]<min)
            {
                min=need[jj];
                begin=jj;
            }

        find[begin]=1;
        if(min>m)
            break;

        for(jj=2;jj<=f;jj++)
            if(min+t[begin][jj]<need[jj])
                need[jj]=min+t[begin][jj];
    }
}

int main()
{
    int ii,jj;
    int a,b,temp,ans;
    while(scanf("%d%d%d%d",&f,&p,&c,&m)!=EOF)
    {
        init();
        for(ii=1;ii<=p;ii++)
        {
            scanf("%d%d%d",&a,&b,&temp);
            if(temp<t[a][b]&&a<=f&&b<=f)
                t[a][b]=t[b][a]=temp;
        }

        dijk();

        for(ii=1,jj=0;ii<=c;ii++)
        {
            scanf("%d",&temp);
            if(need[temp]<=m)
                out[jj++]=ii;
        }
        
        ans=jj;
        printf("%d\n",ans);
        for(ii=0;ii<ans;ii++)
            printf("%d\n",out[ii]);
    }
    return 1;
}
/*
7 6 5 8
1 4 2
1 2 1
2 3 6
3 5 5
5 4 6
1 7 9
1
4
5
3
7
*/


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