POJ 1006.Biorhythms

来源:互联网 发布:centos selinux 编辑:程序博客网 时间:2024/05/22 08:59

题目:http://icpc.njust.edu.cn/Problem/Pku/1006/

AC代码(C++):

#include <iostream>#include <stdio.h>#include <algorithm>#include <iomanip>#include <string.h>#include <map>#include <vector>#include <math.h>using namespace std;#define PC 23#define EC 28#define IC 33int main(void) {int n = 0;for (;;) {n++;int tp, te, ti, td;cin >> tp >> te >> ti >> td;if (tp == -1 && te == -1 && ti == -1 && td == -1)break;for (; tp > td; tp -= PC);for (; tp <= td; tp += PC);for (;; tp += PC) {if ((tp - te) % EC == 0 && (tp - ti) % IC == 0) {cout << "Case " << n << ": the next triple peak occurs in " << tp - td << " days." << endl;break;}}}//system("pause");}
总结:1.这里数据量不大,用的暴力解,也可以用中国剩余定理计算

 2.注意给出的d可以小于p,e,i.所以这里先把p调到比d大但又小于等于p+23

0 0
原创粉丝点击