CF1492A - Three swimmers

Posted Luowaterbi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF1492A - Three swimmers相关的知识,希望对你有一定的参考价值。

1492A - Three swimmers

题意:

三个人在游泳,分别以每a,b,c分钟游一圈。你在p分钟后到泳池,问最短需要等待多长时间可以看到任意一个人。

题解:

p如果是a或者b或者c的倍数,显然等待时间为0,否则为 a − p a-p%a ap,b,c同理,取个min就行。

AC代码:

#include <cstdio>
#include <iostream>
#include <vector>
#include <string>
#include <queue>
#include <algorithm>
#include <cmath>
#include <set>
#include <map>
#include <iomanip>
#include <cstdlib>
#include <stack>
#include <cstring>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i<(b);i++)
#define lep(i,a,b) for(int i=(a);i>=(b);i--) 
#define lepp(i,a,b) for(int i=(a);i>(b);i--)
#define pii pair<int,int>
#define pll pair<long long,long long>
#define mp make_pair
#define All(x) x.begin(),x.end() 
#define ms(a,b) memset(a,b,sizeof(a)) 
#define INF 0x3f3f3f3f
#define INFF 0x3f3f3f3f3f3f3f3f
#define multi int T;scanf("%d",&T);while(T--) 
using namespace std;
typedef long long ll;
typedef double db;
const int N=2e5+5;
const int mod=1e9+7;
const db eps=1e-6;                                                                            
const db pi=acos(-1.0);
ll p,a,b,c;
int main()
    #ifndef ONLINE_JUDGE
    freopen("D:\\\\work\\\\data.in","r",stdin);
    #endif
    multi
        cin>>p>>a>>b>>c;
        if(p%a==0||p%b==0||p%c==0) cout<<0<<endl;
        else cout<<min(c-p%c,min(a-p%a,b-p%b))<<endl;
    

以上是关于CF1492A - Three swimmers的主要内容,如果未能解决你的问题,请参考以下文章

CF452E Three strings广义SAM

CF1335E1 Three Blocks Palindrome (easy version)

CF1780F Three Chairs

CF581D Three Logos 暴力

CF1065D (Wa)Three Pieces

CF792C Divide by Three