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 |
感觉和AC的代码是一回事啊,为什么总是WA?别人AC的代码: #include<iostream> using namespace std; int main() { int i,j,k,g,n,h,ans,tot,tt=0,f[32],d[32],t[32],now[32],tnow[32],times[32]; while (scanf("%d",&n),n) { if (tt++) printf("\n"); scanf("%d",&h); h*=12; for (i=0;i<n;++i) { scanf("%d",&f[i]); now[i]=f[i]; } for (i=0;i<n;++i) scanf("%d",&d[i]); for (i=0;i<n-1;++i) scanf("%d",&t[i]); memset(times,0,sizeof(times)); for (ans=i=0;i<n&&h>0;++i) { for (j=0;j<i;++j) now[j]=f[j]; memset(tnow,0,sizeof(tnow)); for (tot=k=0;k<h;++k) { for (g=0,j=1;j<=i;++j) if (now[j]>now[g]) g=j; tot+=now[g]; now[g]-=d[g]; if (now[g]<0) now[g]=0; ++tnow[g]; } if (tot>ans) { ans=tot; for (j=0;j<n;++j) times[j]=tnow[j]; } else if (tot==ans) { for (j=0;j<n;++j) if (tnow[j]!=times[j]) break; if (j<n&&tnow[j]>times[j]) for (g=j;g<n;++g) times[g]=tnow[g]; } h-=t[i]; } for (i=0;i<n-1;++i) printf("%d, ",times[i]*5); printf("%d\nNumber of fish expected: %d\n",times[n-1]*5,ans); } return 0; } 我的代码: #include <iostream> using namespace std; int main() { int n,h; int f1[26],f[26],t[26],d[26],lake_time1[26],lake_time[26]; int i,j,Ltime,max_lake; int k,total,total_fish=0; bool flag=false; cin>>n; while(n) { cin>>h; for(i=1; i<=n; ++i) { cin>>f[i]; f1[i] = f[i]; } for(i=1; i<=n; ++i) { cin>>d[i]; lake_time[i] = 0; } for(i=1; i<n; ++i) { cin>>t[i]; } for(i=1; i<=n; ++i) { total = 0; Ltime = h * 60; for(j=1; j<i; ++j) { Ltime = Ltime - t[j] * 5; } if(Ltime < 0) break; for(j=1; j<=i; ++j) { f1[j] = f[j]; lake_time1[j] = 0; } max_lake = f1[1]; k = 1; while(Ltime > 0) { max_lake = f1[1]; k = 1; flag = false; for(j=1; j<=i; ++j) { if(f1[j] < 0) f1[j] = 0; if(max_lake < f1[j]) { k = j; max_lake = f1[j]; } if(f1[j]) flag = true; } if(false == flag) { lake_time1[1] += Ltime; break; } if(max_lake > 0) { lake_time1[k] += 5; total += f1[k]; f1[k] = f1[k] - d[k]; Ltime -= 5; } else if(max_lake == 0) { lake_time1[0] += 5; Ltime -= 5; } else { lake_time1[0] += 5; Ltime -= 5; lake_time1[k] = 0; } } if(total > total_fish) { total_fish = total; for(j=1; j<=i; j++) { lake_time[j] = lake_time1[j]; } } else if(total == total_fish) { for(j=1; j<=i; ++j) { if(lake_time1[j] > lake_time[j]) { for(j=1; j<=i; j++) { lake_time[j] = lake_time1[j]; } break; } else if(lake_time1[j] < lake_time[j]) break; } } } for(i=1; i<n; ++i) cout<<lake_time[i]<<", "; cout<<lake_time[n]<<endl; cout<<"Number of fish expected: "<<total_fish<<endl; cout<<endl; cin>>n; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator