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

?????太奇怪了,这给这么多测试数据我都通过了,怎么提交就错了呢???

Posted by 411465294 at 2006-10-04 17:34:54 on Problem 1040
In Reply To:谁能给两组测试数据?????????????多谢!!! Posted by:burningice at 2004-02-28 20:05:04
   难道还有其它BT数据吗??
   我都与上面给的数据一一对应,看了.没有差别啊~~~为什么提交就WR?.
   我的烂代码如下:
   #include "stdio.h"
   int T;
   long price;
   int A[8];
 
   struct orders{
   int from;
   int to;
   int num; 
   } orders[23];

  long search(int k,int position,int A[])
  {  int i,j;
     long nowprice[2],all;
     int a[8],zhan;
     for(i = 0;i < 8;i ++)
          a[i] = A[i];
     if(k >= T) return 0;
     zhan = orders[k].from;
     for( j = 0; j <= zhan;j ++)
	  {    
                 position += a[j];
	        a[j] = 0;
	  }

     if( orders[k].num != 0 && position >= orders[k].num)
           {   
                a[orders[k].to] += orders[k].num;
                nowprice[0] = orders[k].num * ( orders[k].to - orders[k].from ) + search( k+1, position-orders[k].num , a);
                a[orders[k].to] -= orders[k].num;
           }
     all = 0;
     for( i = k+1;i < T;i ++)
	       all += orders[i].num *  ( orders[i].to - orders[i].from );
     if(all > nowprice[0]) 
                nowprice[1] = search( k+1 , position , a);
     return ( nowprice[0] > nowprice[1]?   nowprice[0] : nowprice[1] );
  }
int main()
 {  int i , j , n , m , t ;
    while( scanf("%d %d %d",&n,&m,&T),n||m||T)
         {      for(i = 0;i <= m;i ++)
                      A[i] = 0;
	       for(i = 0;i < T;i ++)
                      scanf("%d %d %d",&orders[i].from , &orders[i].to , &orders[i].num);
                for( i = 0;i < T-1;i ++)
                      for( j = 0;j< T - 1 - i;j ++)
                            if( orders[j].from > orders[j+1].from)
                                    {   t = orders[j].from ;     orders[j].from = orders[j+1].from;     orders[j+1].from = t;
                                        t = orders[j].to   ;     orders[j].to   = orders[j+1].to  ;     orders[j+1].to   = t;
                                        t = orders[j].num  ;     orders[j].num  = orders[j+1].num ;     orders[j+1].num  = t;
                          }

             price = search( 0 , n , A ); 
             printf("%ld\n", price);
         }
    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