zoukankan      html  css  js  c++  java
  • HDU 5776 sum (BestCoder Round #85 A) 简单前缀判断+水题

    分析:就是判断简单的前缀有没有相同,注意下自身是m的倍数,以及vis[0]=true;

    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <cmath>
    #include <iostream>
    #include <algorithm>
    #include <map>
    #include <queue>
    #include <vector>
    using namespace std;
    typedef  long long LL;
    const int N = 1e5+10;
    int sum[N],n,m,T;
    bool vis[5005];
    int main(){
      scanf("%d",&T);
      while(T--){
        scanf("%d%d",&n,&m);
        memset(vis,0,sizeof(vis));
        bool flag=0;
        vis[0]=true;
        for(int i=1;i<=n;++i){
          scanf("%d",&sum[i]);
          if(sum[i]%m==0)flag=true;
          sum[i]=(sum[i]+sum[i-1])%m;
          if(vis[sum[i]])flag=true;
          vis[sum[i]]=true;
        }
        if(flag)printf("YES
    ");
        else printf("NO
    ");
      }
      return 0;
    }
    View Code
  • 相关阅读:
    01模拟面试面试题汇总
    第一轮面试
    大觅网03Day
    大觅网02Day
    大觅网01Day
    树状数组
    HH的项链
    小z的袜子
    分块
    扩展欧几里德
  • 原文地址:https://www.cnblogs.com/shuguangzw/p/5722799.html
Copyright © 2011-2022 走看看