标签:
Time Limit: 1000MS | Memory Limit: 10000K | |||
Total Submissions: 19272 | Accepted: 7813 | Special Judge |
Description
Input
Output
Sample Input
2 6 19 0
Sample Output
10 100100100100100100 111111111111111111题意:给一个数n,求其只含有数字0或1的倍数,输出其任意的可行解(答案不唯一
思路:从1开始判断是否为n的倍数,然后乘10或者乘10加1,找到一个退出即可
Ps:要不是这道题在bfs里我都不知道怎么搞。这个题我也不知道怎么回事,用g++交AC,用c++交MLE,saddd
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream> #include <algorithm> #include <set> #include <queue> #include <stack> using namespace std; long long n; queue<long long >q; long long bfs() { long long res; while(!q.empty()) q.pop(); q.push(1); while(!q.empty()){ res=q.front(); q.pop(); if(res%n==0) return res; q.push(res*10); q.push(res*10+1); } } int main() { while(~scanf("%lld",&n)){ if(n==0) break; printf("%lld\n",bfs()); } return 0; }
POJ 1426-Find The Multiple(bfs)
标签:
原文地址:http://blog.csdn.net/u013486414/article/details/43889387