zoukankan      html  css  js  c++  java
  • hdu2847(暴力)

    去年看的一道题目,但是竟然傻傻的用dfs+循环链表去做。 简直傻到爆。  不过现在做这题还是想了好久而且还有好几次WA,其实这题还是很水的。直接暴力枚举就行了,枚举的前提是要算好复杂度, 可以知道的是对于长度为n的01串,和化为二进制数长度为m的K,最多只要添加m个0or1就可以得到一个被k整除的数。 然后可以从k*1,k*2,k*3...往后枚举。 可知最多只需要枚举2^20次。 每次比较20次左右, 10^7的复杂度还是可以过得,因为数据组数小

    hdu2847

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <algorithm>
    #include <string>
    #include <queue>
    #include <stdlib.h>
    using namespace std;
    #define N 100
    
    
    char g[N];
    int len;
    
    int mcheck(int x)
    {
        char tmp[N];
        int cnt=0;
        while(x)
        {
            tmp[cnt++]=x%2+'0';
            x>>=1;
        }
        int tcnt=0;
        for(int i=cnt-1;i>=0;i--)
        {
            if(g[tcnt]==tmp[i])
            {
                tcnt++;
                if(tcnt==len) return 1;
            }
        }
        return 0;
    }
    
    int main()
    {
        while(scanf("%s",g)!=EOF)
        {
    
            int k;
            len=strlen(g);
    
            scanf("%d",&k);
    
            if(g[0]=='0')
            {
                //如果当是0的话还有点麻烦
                printf("0
    ");
                continue;
            }
            int ans=-1;
            for(int i=k;;i+=k)
            {
                if(mcheck(i)==1)
                {
                    ans=i;
                    break;
                }
            }
    
            int cnt=0;
            int tmp[N];
            while(ans)
            {
                tmp[cnt++]=ans%2;
                ans>>=1;
            }
            for(int i=cnt-1;i>=0;i--)
                printf("%d",tmp[i]);
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    CF117C Cycle (竞赛图找环)
    P1144 最短路计数 (bfs/SPFA)
    RabbitMQ.Client API (.NET)中文文档
    四元组
    .Net Standard Http请求实例
    .Net Standard简介
    Lambda表达式(lambda expression)⭐⭐⭐⭐⭐
    CSS
    工具类css框架
    Sass
  • 原文地址:https://www.cnblogs.com/chenhuan001/p/4066305.html
Copyright © 2011-2022 走看看