• poj 1042


    题目链接:http://poj.org/problem?id=1042

    此题是贪心+枚举

    虽然说贪心和枚举在其他算法中算是简单的算法,但是它们合起来并不简单,代码又是的乱七八糟的

    题解:

    1.有题意可以看出,john直走即可,不必再走回来(因为浪费不必要的时间)

    2.枚举走一个湖,两个湖,三个湖......n个湖;每次枚举中求出总时间,总时间以每5min递减,每次递减找出湖中鱼的数量最大的那个,加到sum中,然后更新鱼群

    3.选出以上枚举的sum最大值及为题解,当然选出最大值的过程中要将时间记录下

    #include <stdio.h>
    #include
    <stdlib.h>
    #include
    <string.h>
    int main(int argc, char** argv) {

    int n,h,i,f[26],d[26],t[26],time[26],tem[26],temt[26],j,k,max,max1,maxi,t1,flag,sum,left1,left;
    while(scanf("%d",&n)&&n)
    {
    max1
    =0;
    left
    =0;
    scanf(
    "%d",&h);
    h
    =h*60/5;
    for(i=0;i<n;++i)
    {
    scanf(
    "%d",&f[i]);
    }
    for(i=0;i<n;++i)
    {
    scanf(
    "%d",&d[i]);
    }
    for(i=1;i<n;++i)
    {
    scanf(
    "%d",&t[i]);
    }
    //输入
    t[0]=0;

    max1
    =-1;
    for(i=0;i<n;++i)//枚举第i个湖
    {
    left1
    =0;
    memset(temt,
    0,sizeof(temt));
    sum
    =0;
    if(h>=t[i])
    h
    -=t[i];
    else
    break;
    t1
    =h;
    for(j=0;j<=i;j++)
    {
    tem[j]
    =f[j];
    }
    while(t1>0)
    {
    maxi
    =0;
    flag
    =1;
    for(j=0;j<=i;++j)
    {

    if(maxi<tem[j])
    {
    max
    =j;
    maxi
    =tem[j];
    flag
    =0;
    }
    }
    if(flag!=0)
    {
    left1
    =t1;
    break;
    }
    t1
    --;
    temt[max]
    ++;//选出最大值,记录时间
    sum+=tem[max];
    if(d[max]>tem[max])
    tem[max]
    =0;
    else
    tem[max]
    -=d[max];

    }
    if(sum>max1)
    {
    max1
    =sum;
    left
    =left1;
    for(j=0;j<26;++j)
    {
    time[j]
    =temt[j];
    }
    }
    }
    time[
    0]=time[0]+left;
    for(j=0;j<n-1;j++)
    printf(
    "%d, ",time[j]*5);
    printf(
    "%d\n",time[j]*5);
    printf(
    "Number of fish expected: %d\n\n",max1);//输出,注意格式
    }
    return (EXIT_SUCCESS);
    }

      

  • 相关阅读:
    day9习题
    生产者消费者模型(吃包子例子)
    map 函数----filter函数
    #返回值包含函数
    #把函数当作参数传给另一个函数
    异常和错误!
    递归调用
    局部和全局案例!!
    全局变量与局部变量2
    全局变量与局部变量
  • 原文地址:https://www.cnblogs.com/fengyuehan/p/poj1042.html
Copyright © 2020-2023  润新知