本文共 691 字,大约阅读时间需要 2 分钟。
经典的枚举优化问题
//poj4148生理周期#include#include using namespace std;int main(){ int p, e, i, d, index = 1; scanf("%d%d%d%d",&p,&e,&i,&d); while(p!=-1 && e!=-1 && i!=-1 && d!=-1){ int st = d+1; //表示开始的天数 //核心算法 //先从找到体力高峰开始,每找到一个高峰迭代的大小就变为周期之积 for(; st < 21252; st++) if((st-p)%23 == 0) break; for(; st < 21252; st+=23) if((st-e)%28 == 0) break; for(; st <21252; st+=23*28) if((st-i)%33 == 0) break; printf("Case %d: the next triple peak occurs in %d days.\n",index, st-d); index++; scanf("%d%d%d%d",&p,&e,&i,&d); } return 0;}
转载地址:http://sezdf.baihongyu.com/