zoukankan      html  css  js  c++  java
  • poj1006

    题目大意:生物节律
    一些人相信有三种循环在一个人生命中从他或者她出生的那天起,这个三个周期是,身体,情绪,智力, 并且他们有23,28,和33天的时间,在每一个周期里面都有一个周期,在一个周期的高峰期,一个人可以在这个领域做的最好,例如,如果这是一条曲线,思维过程讲更容易清晰和集中,来自这三个不同的周期,这三个峰值在不同的时期,我们想确定每个人三个峰值同时发生的时间,对于每个周期,你要给出这年中的一个峰值(没有必要是第一个)的时间,你也需要给出一个天数这年是从那天开始的,你的任务就是在当前确定的日期找到下一个三重峰值日期,给定的日期不算,例如给定的日期是10,并且下一个三重峰值日期是2,不是3,如果三重峰值发生在给定的日期,你应该计算下一个三重峰值日期出现的时间
    比较简单的模拟题,数值也不大,直接使用下标法模拟
    ///////////需要注意有可能开始日期在峰值前面
    #include<iostream>
    #include<string.h>
    using namespace std;

    #define maxn 31253

    int day[maxn];

    void MakeOne(int Start, int Tmp)
    {
        for(int i=Start; i<maxn; i+=Tmp)
            day[i]++;
        for(int i=Start-Tmp; i>=0; i-=Tmp)
            day[i]++;
    }
    int  Find(int Start, int End)
    {
        for(int i=Start+1; i<End; i++)
            if(day[i] == 3)return i;
        return End;
    }

    int  main()
    {
        int x, y, z, start, k=1;

        while(cin>>x>>y>>z>>start, x!=-1)
        {
            memset(day, 0sizeof(day));

            MakeOne(x, 23);
            MakeOne(y, 28);
            MakeOne(z, 33);

            int ans = Find(start, start+21252);

            cout<<"Case "<< k <<": the next triple peak occurs in "<< ans-start <<" days."<<endl;
            k++;
        }

        return 0;

    } 

  • 相关阅读:
    JS获取URL中参数值(QueryString)的4种方法
    js 字符串转换成数字的 三种方法
    jquery.cookie 介绍 和 用法
    JS的document.all函数使用 示例
    JS按回车键实现登录的三种方法
    js 字符串转换成数字的三种方法
    GitHub访问速度慢的一种优化方法
    git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)
    git回退
    git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)(解决办法)
  • 原文地址:https://www.cnblogs.com/liuxin13/p/4383899.html
Copyright © 2011-2022 走看看