zoukankan      html  css  js  c++  java
  • poj1426——数的bfs,打表

    POJ 1426  数的bfs,打表

    Find The Multiple
    Time Limit: 1000MS   Memory Limit: 10000K
    Total Submissions: 19409   Accepted: 7868   Special Judge

    Description

    Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal digits.

    Input

    The input file may contain multiple test cases. Each line contains a value of n (1 <= n <= 200). A line containing a zero terminates the input.

    Output

    For each value of n in the input print a line containing the corresponding value of m. The decimal representation of m must not contain more than 100 digits. If there are multiple solutions for a given value of n, any one of them is acceptable.

    Sample Input

    2
    6
    19
    0

    Sample Output

    10
    100100100100100100
    111111111111111111

    题意:找出被n整除的任意一个每一位中只有1和0的数
    方法:直接bfs从小到大按位遍历只有1和0的数,由于题目输入一个n,可以打表
    //poj1426_bfs
    #include<iostream>
    #include<cstdlib>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<queue>
    
    using namespace std;
    
    const int maxn=100020;
    int n;
    
    long long bfs()  //注意要用long long
    {
        queue<long long> q;
        q.push(1);
        while(!q.empty()){
            long long now=q.front();
            q.pop();
            if(now%n==0) return now;
            q.push(now*10);  //遍历只有每一位上0和1的数
            q.push(now*10+1);
        }
        return -1;
    }
    
    int main()
    {
        while(cin>>n,n){
            cout<<bfs()<<endl;
        }
        return 0;
    }
    poj1426_bfs
    //表中数据来自bfs
    #include<iostream>
    #include<cstdlib>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<queue>
    
    using namespace std;
    
    const int maxn=100020;
    int n;
    long long a[]={  //注意long long
    1,10,111,100,10,
    1110,1001,1000,111111111,10,
    11,11100,1001,10010,1110,
    10000,11101,1111111110,11001,100,
    10101,110,110101,111000,100,
    10010,1101111111,100100,1101101,1110,
    111011,100000,111111,111010,10010,
    11111111100,111,110010,10101,1000,
    11111,101010,1101101,1100,1111111110,
    1101010,10011,1110000,1100001,100,
    100011,100100,100011,11011111110,110,
    1001000,11001,11011010,11011111,11100,
    100101,1110110,1111011111,1000000,10010,
    1111110,1101011,1110100,10000101,10010,
    10011,111111111000,10001,1110,11100,
    1100100,1001,101010,10010011,10000,
    1111111101,111110,101011,1010100,111010,
    11011010,11010111,11000,11010101,1111111110,
    1001,11010100,10000011,100110,110010,
    11100000,11100001,11000010,111111111111111111,100,
    101,1000110,11100001,1001000,101010,
    1000110,100010011,110111111100,1001010111,110,
    111,10010000,1011011,110010,1101010,
    110110100,10101111111,110111110,100111011,111000,
    11011,1001010,10001100111,11101100,1000,
    11110111110,11010011,10000000,100100001,10010,
    101001,11111100,11101111,11010110,11011111110,
    11101000,10001,100001010,110110101,100100,
    10011,100110,1001,1111111110000,11011010,
    100010,1100001,11100,110111,11100,
    1110001,11001000,10111110111,10010,1110110,
    1010100,10101101011,100100110,100011,100000,
    11101111,11111111010,1010111,1111100,1111110,
    1010110,11111011,10101000,10111101,111010,
    1111011111,110110100,1011001101,110101110,100100,
    110000,100101111,110101010,11010111,11111111100,
    1001111,10010,100101,110101000,1110,
    100000110,1001011,1001100,1010111010111,110010,
    11101111,111000000,11001,111000010,101010,
    110000100,1101000101,1111111111111111110,111000011,1000,
    10010001,1010,11010111,10001100,111110,
    111000010,11011111011,10010000,100111,101010,
    110100011,10001100,10011,1000100110,11011010,
    1101111111000,10000011,10010101110,1110111,1100,
    100111011,1110,1001111001,100100000,11111111100,
    10110110,11001101,1100100,10000100011,1101010,
    111111,1101101000,111110011,101011111110,100110,
    1101111100,101010111,1001110110,1111111,1110000,
    111101,110110,100111110111,10010100,11000010,
    100011001110,1000000001,111011000,1111100001,1000,
    110001001,111101111100,11111001,110100110,1000110,
    100000000,101001,1001000010,10101,100100,
    10111101111,1010010,10001101,111111000,1000110,
    111011110,1011111111,110101100,100100011,11011111110,
    11111,111010000,10101,100010,1100,
    1000010100,110111101,1101101010,11111010111,1001000,
    101000111,100110,10010111011,1001100,110010,
    10010,1011101,11111111100000,1100110001,11011010,
    100110111,1000100,110000111,11000010,110111110,
    111000,1111011111111111111,1101110,10010101101,11100
    };
    
    int main()
    {
        while(cin>>n,n){
            cout<<a[n-1]<<endl;
        }
        return 0;
    }
    打表
    没有AC不了的题,只有不努力的ACMER!
  • 相关阅读:
    Linux内核之系统调用
    [转]Linux最多支持的SCSI Disk的数目
    bash一些技巧
    [转]Iptables 规则 一些简单实例和详细介绍
    近来工作和面试一些人的感受(原)
    自动给URL地址加上超链接
    在ASP.NET虚拟主机上实现URL重写(UrlRewrite)
    使用Office组件读取Excel,引用Microsoft.Office.Interop.Excel出现的问题
    Fixing Twitter 提高世界上最流行的微博客系统性能和可扩展性(转)
    从优酷网学习SEO的标题(title)和关键字(keywords)如何选择
  • 原文地址:https://www.cnblogs.com/--560/p/4334531.html
Copyright © 2011-2022 走看看