POJ
来源:互联网 发布:c#冒泡排序的算法思路 编辑:程序博客网 时间:2024/06/03 19:55
Find The Multiple
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 32497 Accepted: 13595 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
26190
Sample Output
10100100100100100100111111111111111111
题意:
输入一个数n,求另一个数是n的倍数并且只包含0,1
题解:
这题略坑。看到他给的数字长度是100位,我直接就用了字符串存,bfs搜索(当时内心默认的是输出最小的满足条件的值),然而超时。。。后来用这个程序打表发现数据正好在long long范围内,然后直接dfs。。不需要求出最小的值,只要满足条件,值多么离谱都能过,所以搜索可以写的非常暴力。
TLE代码:
#include<stdio.h>#include<string.h>#include<algorithm>#include<math.h>#include<iostream>#include<queue>using namespace std;int n,flag;int check(string c){ int mod=0,len=c.length(); for(int i=0;i<len;i++) { mod=(mod*10+c[i]-48)%n; } if(mod==0) { cout<< c << endl; return 1; } return 0;}void bfs(){ queue<string> q; string s=""; q.push(s); while(!q.empty()) { string top=q.front(); q.pop(); q.push(top+"1"); if(check(top+"1")) { return; } if(top.compare("")==0) continue; q.push(top+"0"); if(check(top+"0")) { return; } }}int main(){ while(scanf("%d",&n) && n) { flag=0; bfs(); } return 0;}
#include<stdio.h>#include<string.h>int n,flag;void dfs(long long s,int step){ if(flag || step==19) return; if(s%n==0) { flag=1; printf("%lld\n",s); return; } dfs(s*10,step+1); dfs(s*10+1,step+1);}int main(){ while(scanf("%d",&n) && n) { flag=0; dfs(1,0); } return 0;}
阅读全文
0 0
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- POJ
- 深入理解java异常处理机制
- jquery ui dialog ie 显示不正确。
- 前端JS知识要点总结(4)
- AB液体室温发泡硅胶(双组份室温发泡硅胶)
- java心跳机制
- POJ
- firebug 调试小技巧
- Linux 常用命令总结
- jquery autocomplete key value pair
- 数据库设计原则
- 加载WebView组建封装
- 关于js中读取元素样式时浏览器的兼容问题
- Mysql报错注入原理分析(count()、rand()、group by)
- jquery.autocomplete IE6 下拉框遮住