一直没懂这个题什么意思。。。

最后也不太懂,看了别人的代码才勉强能接受。参考:https://www.cnblogs.com/zsboy/archive/2012/01/16/2323244.html
大概是:
给你三个天数(这三个天数是相对于这一年的某三天),然后在给你一个当前日期(也是相对于当前年的)。
比如:5,6,7,8
这四个数,表示第一个周期的高峰将在今年的第五天出现。
第二个周期的高峰将在2020年的第6天出现。
第三个周期将在2020年的第7天出现。
现在是2020年的第8天。
所以只要简单的枚举就可以。
图片说明
这是暴力方法,枚举每一天。

比较巧的方法是:维护某一天的高峰,比如体能的高峰是23天一次,所以我每次都+23,然后判断其他情感和智力到没到高峰,大大降低了复杂度。

#include<iostream>
using namespace std;
int main(){
    int p,e,i,d,cas=0;
    while(cin>>p>>e>>i>>d){
        int date=d++;
        while((d-p)%23!=0){
            d++;
        }
        while((d-e)%28!=0 || (d-i)%33!=0){
            d+=23;
        }
         printf("Case: the next triple peak occurs in %d days.\n",d-date);  
    }
    return 0;
}