poj 1042 gone fishing 贪心+枚举
2009-12-02 23:33
423 查看
#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 30 int f[MAX],d[MAX],t[MAX],stay[MAX]; int CalculateMostFish(int totalTimes,int end) { int i,j,k,l,m,n,lastMaxIndex,max=-1,fishSum=0; int realFish[MAX]; memcpy(realFish,f,sizeof(f)); memset(stay,0,sizeof(stay)); for(i=1;i<=totalTimes;i++) { // Get the max fish num max=-1; //forget it !!! lastMaxIndex=end; stay[lastMaxIndex]+=5; //wrong first stay[lastMax]=5 !!! for(j=end;j>=1;j--) { if(realFish[j]>=max) { max=realFish[j]; stay[lastMaxIndex]-=5; stay[j]+=5; lastMaxIndex=j; } } fishSum+=max; realFish[lastMaxIndex]-=d[lastMaxIndex]; if(realFish[lastMaxIndex]<0) { realFish[lastMaxIndex]=0; } } return fishSum; } void CalculateMostFishes(int islandNum,int totalHour) { int end,j,k,l,i,m,n,maxFishSum=-1,totalTimes,result; int maxFishStay[MAX]; totalTimes=totalHour*60/5; memset(stay,0,sizeof(stay)); for(end=1;end<=islandNum;end++) { totalTimes=totalTimes-t[end]; result=CalculateMostFish(totalTimes,end); if(result>maxFishSum) { maxFishSum=result; memset(maxFishStay,0,sizeof(maxFishStay)); memcpy(maxFishStay,stay,sizeof(stay)); } } for(i=1;i<=islandNum;i++) { if(i!=islandNum) { printf("%d",maxFishStay[i]); printf(", "); } else { printf("%d/n",maxFishStay[i]); } } printf("Number of fish expected: %d/n/n",maxFishSum); } int main() { int islandNum,totalHour,i,j,k; scanf("%d",&islandNum); while(islandNum!=0) { memset(t,0,sizeof(t)); memset(d,0,sizeof(d)); memset(f,0,sizeof(f)); scanf("%d",&totalHour); for(i=1;i<=islandNum;i++) { scanf("%d",&f[i]); } for(i=1;i<=islandNum;i++) { scanf("%d",&d[i]); } for(i=1;i<islandNum;i++) { scanf("%d",&t[i+1]); } CalculateMostFishes(islandNum,totalHour); scanf("%d",&islandNum); } system("pause"); return 0; }
相关文章推荐
- POJ 1042 Gone Fishing(贪心+枚举)
- POJ-1042-Gone Fishing-枚举+贪心
- POJ 1042 Gone Fishing【枚举+贪心】
- Poj-1042-Gone Fishing-枚举+贪心
- POJ 1042 Gone Fishing 贪心 枚举
- POJ 1042 Gone Fishing (枚举+贪心) [12#11#16 daily] #by Plato
- poj -- 1042 Gone Fishing(枚举+贪心)
- POJ 1042 Gone Fishing(贪心+枚举)
- POJ 1042 Gone Fishing (枚举+贪心)
- POJ 1042 Gone fishing(枚举+贪心)
- poj 1042 Gone Fishing 枚举+贪心
- NYOJ 30 && POJ 1042 Gone Fishing(枚举+贪心)
- poj 1042 Gone Fishing 贪心+枚举
- poj 1042 Gone Fishing dp或枚举贪心
- 贪心 - poj1042 Gone Fishing
- POJ 1042 Gone Fishing(模拟+贪心)
- POJ1042 Gone Fishing(贪心)
- POJ 1042 Gone Fishing (贪心)(刘汝佳黑书)
- 1042 Gone Fishing(枚举+贪心)
- poj1042_贪心+枚举