码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces 688D - Remainders Game 数学相关

时间:2016-06-30 14:08:35      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:

题意:给你x%ci=bi(x未知),是否能确定x%k的值(k已知)

分析:只要保证k能整除ci的最小公倍数即可,由于太大,所以通过暴力分解因子的办法来判断

技术分享
#include <cstdio>
#include <iostream>
#include <ctime>
#include <vector>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long LL;
const int N=1e5+5;
const int INF=0x3f3f3f3f;
const int mod=1e9+7;
bool cov[1005];
int n,k,cnt,fac[1005]; 
int main(){
    scanf("%d%d",&n,&k);
    for(int i=2;i<=k;++i){
      if(k%i)continue;
       int cur=1;
       while(k%i==0)cur*=i,k/=i;
       fac[++cnt]=cur;
    }
    for(int i=0;i<n;++i){
      int x;scanf("%d",&x);
      for(int j=1;j<=cnt;++j)
        if(x%fac[j]==0)cov[j]=true;
    }
    bool flag=1;
    for(int i=1;i<=cnt;++i)
      if(!cov[i])flag=0;
    if(flag)printf("Yes\n");
    else printf("No\n");
    return 0;
}
View Code

 

codeforces 688D - Remainders Game 数学相关

标签:

原文地址:http://www.cnblogs.com/shuguangzw/p/5629564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!