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

Re o(N*V)算法 什么牛逼数据都过了 但交不上

Posted by tanyin at 2009-08-11 20:21:25 on Problem 1742
In Reply To:多重背包,怎么老是RE,无语了,看看 Posted by:dynamic_study at 2009-08-06 20:44:00
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(){
  int n,c;
  int f[100001],v[101],mm[100001],m[101];
  while(scanf("%d%d",&n,&c)){
    
   if(n==0&&c==0) break;
  for(int i=1;i<=n;i++)
    scanf("%d",&v[i]);
  for(int i=1;i<=n;i++)
    scanf("%d",&m[i]);
  for(int i=1;i<=c;i++)
    f[i] = 0;
  f[0] = 1;
  
  for(int i=1;i<=n;i++){
    memset(mm,0,sizeof(mm));
    for(int j=v[i];j<=c && mm[j-v[i]]<m[i];j++){
      if(f[j]==0 && f[j-v[i]]==1){
        f[j] = 1;
        mm[j] = mm[j-v[i]]+1;
      }
    }
 }
 int count = 0;
 for(int i=1;i<=c;i++)
   if(f[i]==1)  count++; 
 printf("%d\n",count);
  
 }

}

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