Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:能不能帮我看看我这个错在哪了In Reply To:能不能帮我看看我这个错在哪了 Posted by:zerocool_08 at 2005-07-13 10:58:09 > #include "iostream.h" > int main(void) > { > int a[102][201]={0}; > int ln,s[102]={0},w[102]={0},i=0,j,k,l,min; > cin>>ln; > while(cin>>s[i]>>w[i]&&s[i]<=ln) > i++; > s[i]=ln+100; > > if(i==0||s[0]>100||ln-s[i-1]>100) > { > cout<<"Impossbile"<<endl; > return 0; > } > for(j=1;j<i;j++) > { > if(s[j]-s[j-1]>200) > { cout<<"Impossbile"<<endl; > return 0; > } > } > for(j=0;j<=100-s[0];j++) > ; > if(s[0]==0) > { > for(;j<=200;j++) > a[0][j]=w[0]*(j-100); > } > else > { > for(;j<=200;j++) > a[0][j]=-1; > } > for(k=1;k<i;k++) > { > for(j=0;j<=200-s[k]+s[k-1];j++) > { > for(l=0,min=2000000000;a[k-1][l]>=0&&l<=200;l++) > { > if(s[k]+j-s[k-1]-l<=0) > { if(a[k-1][l]<min) > min=a[k-1][l]; > } > else > if((s[k]-s[k-1]-l+j)*w[k-1]+a[k-1][l]<min) > min=(s[k]-s[k-1]-l+j)*w[k-1]+a[k-1][l]; > } > a[k][j]=min; > } > for(;j<=200;j++) > a[k][j]=-1; > } > for(l=0,min=2000000000;a[k-1][l]>=0&&l<=200;l++) > { > if(s[k]-s[k-1]-l<=0) > { if(a[k-1][l]<min) > min=a[k-1][l]; > } > else > if((s[k]-s[k-1]-l)*w[k-1]+a[k-1][l]<min) > min=(s[k]-s[k-1]-l)*w[k-1]+a[k-1][l]; > } > a[k][0]=min; > cout<<a[i][0]; > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator