标签:one str file while turn ase and case ble
Input
Output
Sample Input
2 6 19 0
Sample Output
10 100100100100100100 111111111111111111
题意:给你一个数n,找出一个他的倍数m。(我被样例唬住了)
题解:用bfs,从1开始,两个方向(因为只有0和1组成) x*10 x*10+1,进队即可,然后判断是否是n的倍数,是就输出。
#include<iostream>
#include<queue>
typedef long long ll;
using namespace std;
int n;
void bfs(int n){
queue<ll>q;
q.push(1);
ll head;
while(!q.empty()){
head = q.front();
q.pop();
if(!(head%n)) {
cout<<head<<endl;break;
}
q.push(head*10);
q.push(head*10+1);
}
}
int main(){
while(cin>>n && n){
bfs(n);
}
return 0;
}
标签:one str file while turn ase and case ble
原文地址:https://www.cnblogs.com/stul/p/10014648.html