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 hdu07027 at 2008-02-16 19:23:11 on Problem 3487
#include <iostream>
#include <string>
using namespace std;
int que[5000000];  
int fa(char ch,char *a)
{
    for(int i=0;;i++)
        if(ch == a[i]) return i;
    
}

int main()
{
    int cas,i,num;
    char ma[200],fe[200],c,pre[200];
    char ma_rela[200][200],fe_rela[200][200];
    char engaged[200];   
   
    int ok[200];
    scanf("%d",&cas);
    int ff = cas;
    while(cas--)
    {
        if(ff != cas + 1) cout<<endl;
        scanf("%d",&num);
        for(i = 0;i < num;i++)
            engaged[i] = '*';
        for(i = 0;i < num;i++)
            cin>>fe[i];
        for(i = 0;i < num;i++)         
            cin>>ma[i];
           
        for(i = 0;i < num;i++)
            cin>>fe_rela[i];
                
        for(i = 0;i < num;i++)
                cin>>ma_rela[i];
            
       
        for(i = 0;i < num;i++)
                    ok[i] = 2;
        for(i = 0;i < num;i++)
         que[i]=i;
        int head=0; int tail=num-1;
        while(tail >= head) 
        {
               int m = que[head];
               int w = fa(ma_rela[m][ok[m]],fe); //w编号 
               ok[m]++;
               if(engaged[w] != '*')
               {
                   int m1 = fa(ma[m],fe_rela[w]); 
                   
                   int m2 = fa(engaged[w],fe_rela[w]);
                   if(m1 < m2)
                   {
                         int fm = fa(engaged[w],ma);
                         engaged[w] = ma[m];
                         head++;
                         que[++tail] = fm;
                  }
                             
               }     
               else 
               {
                    engaged[w] = ma[m];
                    head++;
               }
        }
        for(i = 0;i < num;i++)
              cout<<fe[i]<<" "<<engaged[i]<<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