• biorhythms


    传送门

    luogu简化了题意而且提供了翻译。

    直接开做,这题可以选择使用CRT,我也使用了……但是其实似乎暴力也可以。

    我们老套的CRT操作,这样每次对于输入的值直接乘一下就行。

    注意特判的时候如果四个值都是0的话要输出0.

    看一下代码(CRT的内容在代码里)

    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<iostream>
    #include<cmath>
    #include<set>
    #include<queue>
    #define pr pair<int,int>
    #define mp make_pair
    #define fi first
    #define sc second
    #define rep(i,a,n) for(int i = a;i <= n;i++)
    #define per(i,n,a) for(int i = n;i >= a;i--)
    #define enter putchar('
    ')
    
    using namespace std;
    typedef long long ll;
    const int N = 200005;
    const int INF = 1000000009;
    
    int read()
    {
        int ans = 0,op = 1;
        char ch = getchar();
        while(ch < '0' || ch > '9')
        {
        if(ch == '-') op = -1;
        ch = getchar();
        }
        while(ch >= '0' && ch <= '9')
        {
        ans *= 10;
        ans += ch - '0';
        ch = getchar();
        }
        return ans * op;
    }
    
    int exgcd(int a,int b,int &x,int &y)
    {
        if(!b)
        {
        x = 1,y = 0;
        return a;
        }
        int d = exgcd(b,a%b,y,x);
        y -= a / b * x;
        return d;
    }
    
    int M1,M2,M3,x,y,e1,e2,e3,M,p,e,i,d,cur,tot;
    
    int main()
    {
        M1 = 28 * 33,M2 = 23 * 33,M3 = 23 * 28,M = 21252;//先构造
        exgcd(M1,23,x,y),x = (x + 23) % 23,e1 = M1 * x;
        exgcd(M2,28,x,y),x = (x + 28) % 28,e2 = M2 * x;
        exgcd(M3,33,x,y),x = (x + 33) % 33,e3 = M3 * x;//求出mod每一个给定的数余1,剩下能整除的一组数
        while(++tot)
        {
        p = read(),e = read(),i = read(),d = read();
        if(p == -1 && e == -1 && i == -1 && d == -1) break;
        cur = p * e1 + e * e2 + i * e3,cur %= M;//解不定方程一样把这个解乘以本次输入的数再相加
        cur -= d,cur = (cur+M) % M;
        if(d == 0 && cur == 0) cur = M;
        printf("Case %d: the next triple peak occurs in %d days.
    ",tot,cur);
        }
        return 0;
    }
  • 相关阅读:
    CodeForces
    CodeForces
    sort自定义cmp函数
    The 2015 China Collegiate Programming Contest Sudoku
    G
    docker
    在容器内获取Pod信息(Downward API)
    k8s Pod定义详解
    Pod和容器的生命周期管理
    GoAccess日志分析工具
  • 原文地址:https://www.cnblogs.com/captain1/p/9781292.html
Copyright © 2020-2023  润新知