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

为什么我这个程序是wrong answer?请高手救救我!

Posted by fox_sky at 2004-12-21 19:46:48 on Problem 2014
#include<iostream.h>  
  int testArrayLong(int *width)
    {
        int w=0;
        int *p;
        p=width;
          if(*p>0)
           {
              while(*p>0&&*p<=32767)
             {
               w++;
               p++;
              } 
            }    
         return w;
     } 
int testwidth(int *width,int length)
{
          int mwidth[100];
          int i=0,j=0;
          int *p;
          int w=0;
          int result;
          w=testArrayLong(width);
         for(j=0;j<w;j++)
         {
             mwidth[j]=0;
            for(;w>=1&&i<w&&(mwidth[j]+width[i])<=length;i++)
              {
                  if(width[i]>length) { result=0;break;}
                mwidth[j]+=width[i];
               }
           }
           for(result=mwidth[0],j=1;j<w;j++)
           {
               if(result<mwidth[j]) result=mwidth[j];
           }    
           return result;                        
    }
    int testheight(int *width,int *height,int length)
    {
      int i=0,j=0;
      int w=0;
      int mwidth[100];
      w=testArrayLong(width);
      int high;
      int result=0;
       for(j=0;j<w&&height[i]!=-1;j++)
         {
             mwidth[j]=0;
             high=height[i];
            for(;w>=1&&i<w&&(mwidth[j]+width[i])<=length&&height[i]!=-1;i++)
              {
                mwidth[j]+=width[i];
                if(high<height[i]) high=height[i];
               }
               result+=high;
           }
           return result;
    }  
    void test(int *width,int *height,int length)
    {  
        int w=0;
        int i=0,j=0;
        w=testArrayLong(width);
        for(i=0;j!=1&&i<w;i++)
        {  
            if(width[i]<=length) j=0;
            else j=1;
            } 
        if(j==0&&w!=0)
         cout<<testwidth(width,length)<<" x "<<testheight(width,height,length)<<endl;
         else if(w==0)
         cout<<0<<" x "<<0<<endl;
          }
int main()
{
    int length[100];
    int width[100][15]; 
    int height[100][15];
    int i=0,j=0,n=0;
    cin>>length[0];  
   for(;length[j]!=0;j++)
    {
        cin>>width[j][0]>>height[j][0];
        for(i=1;i>=1&&i<15&&width[j][i-1]!=-1&&height[j][i-1]!=-1;i++)
        {
            cin>>width[j][i]>>height[j][i];  
        } 
        cin>>length[j+1];
    }
    for(n=0;n<j;n++)
    {
        test(width[n],height[n],length[n]);
    }    
   
    return 1;
}            
    

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