题目大意:生物节律
一些人相信有三种循环在一个人生命中从他或者她出生的那天起,这个三个周期是,身体,情绪,智力, 并且他们有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, 0, sizeof(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;

}

poj1006的更多相关文章

  1. 算法:POJ1006 三重峰值问题

    这题有直接套公式的解法 这里提供一个O(n)的解法. package practice; import java.io.BufferedInputStream; import java.util.Sc ...

  2. [转]POJ1006: 中国剩余定理的完美演绎

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 117973   Accepted: 37026 Des ...

  3. POJ1006: 中国剩余定理的完美演绎

    POJ1006: 中国剩余定理的完美演绎   问题描述 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天.一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最 ...

  4. Biorhythms(poj1006+中国剩余定理)

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 117973   Accepted: 37026 Des ...

  5. 【同余方程组】POJ1006 生理周期

    同余方程组: 先来看一道题目:有物不知其数,三三数之剩二:五五数之剩三:七七数之剩二.问物几何?  然后我们可以做如下变换,设x为所求的数. x%3=2              x ≡ a1(%m1 ...

  6. 中国剩余定理poj1006

    中国剩余定理即解一组带余除法的不定方程组(同余式组解法). 例如:求一个最小数x,已知x%3=2且x%5=3且x%7=2. 思路就是: 1.先从(3,5)的公倍数中找一个%7=1的最小公倍数,这里是1 ...

  7. 【数论】【中国剩余定理】poj1006 生理周期

    CRT用于求解一元线性同余方程组(模数互质),实际上模数不互质我们也可以解决,在之前的某篇文章里提过.如下 http://www.cnblogs.com/autsky-jadek/p/6596010. ...

  8. poj1006 中国剩余定理&&中国剩余定理解析

    poj 1006 题的思路不是很难的,可以转化数学式: 现设 num 是下一个相同日子距离开始的天数 p,e,i,d 如题中所设! 那么就可以得到三个式子:( num + d ) % 23 == p: ...

  9. POJ1006 Biorhythms —— 中国剩余定理

    题目链接:https://vjudge.net/problem/POJ-1006 Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total ...

  10. poj1006 / hdu1370 Biorhythms (中国剩余定理)

    Biorhythms 题意:读入p,e,i,d 4个整数,已知(n+d)%23=p;   (n+d)%28=e;   (n+d)%33=i ,求n .        (题在文末) 知识点:中国剩余定理 ...

随机推荐

  1. WCF上传、下载、删除文件

    关键代码: --上传的stream处理,转为bytep[] private void Parse(Stream stream, Encoding encoding) { this.Success = ...

  2. 玩转CSLA.NET小技巧系列二:使用WCF无法上传附件,提示413 Entity Too Large

    背景:由于系统需要展示图片,客户上传图片到本地客户端目录,然后在数据库中存储本地图片地址,和图片二进制数据 错误原因:我是使用CSLA的WCF服务,使用了数据门户,WCF协议使用的是wsHttpBin ...

  3. WHU 1579 Big data (DP)

    题意: f[0]=0,f[i]=f[i-1]+a or b. 求满足L<=∑f[n]<=R的序列的种数 n<100.  |a|,|b|<=10000.  |L|,|R|< ...

  4. 【BZOJ1500】【块状链表】维修数列

    Description Input 输入文件的第1行包含两个数N和M,N表示初始时数列中数的个数,M表示要进行的操作数目.第2行包含N个数字,描述初始时的数列.以下M行,每行一条命令,格式参见问题描述 ...

  5. 简单高效读写修改整个文本Slurp

    语法: use File::Slurp; #标量环境下一次读取所有文本内容到标量中. my $text = read_file( 'filename' ) ; #  读取文本的所有行到数组中. my ...

  6. phpcms(3) V9 常用函数 及 代码整理(转)

    转自http://www.cnblogs.com/Braveliu/p/5103918.html 常用函数 及 常用代码 总结如下 <;?php //转换字符串或者数组的编码 str_chars ...

  7. 利用js获取时间并输出值

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. Javascript参数传递中值和引用的一种理解

    值(value)和引用(reference)是各种编程语言老生常谈的话题,js也不例外. 我将剖析一个例子的实际运行过程,跟大家分享我对js参数传递中的值和引用的理解. 参考官网数据类型的两种分类,本 ...

  9. yii 验证用户名是否存在 array("name","unique",'message'=>'用户名已经存在'),

    //验证用户名是否存在                     array("name","unique",'message'=>'用户名已经存在'),

  10. sys.argv[]用法

    #-*- coding: utf-8 -*- """ sys.argv 用来获取命令行参数 sys.argv[0] 表示当前执行文件 "-k".sta ...