POJ 1426 Find The Multiple G++ dfs 巧妙
程序员文章站
2022-06-12 09:18:51
...
#include <iostream>
using namespace std;
//只要能整除就行 题目没数字大小要求
//抄博友程序 dfs 数组巧妙
//1.dfs unsigned long long通过 2.循环 通过 3.dfs unsigned __int64 通过
int da[1004];
int wei;
int n;
int jg;
void dfs(int yu)
{
//for(int i=0;i<=wei;i++)
//{
// cout<<da[i];
//}
//cout<<endl;
//cout<<wei<<" "<<yu<<endl;
if((yu)==0 && jg==0)
{
jg=wei;
//cout<<jg+1<<endl;
for(int i=0;i<wei;i++)//必须在这输出 不然数组内容会改变
{
cout<<da[i];
}
cout<<endl;
//int t=0;
//for(int i=0;i<wei;i++)//必须在这输出 不然数组内容会改变
//{
// t=(t*10+da[i])%n;
//}
//cout<<t<<endl;
return;
}
if(jg!=0 || wei>20)//不加限制会出现无穷个0
{
return;
}
da[wei]=0;
wei++;
dfs((yu*10)%n);//巧妙
wei--;
da[wei]=1;
wei++;
dfs((yu*10+1)%n);
wei--;
}
int main()
{;
while(1)
{
cin>>n;
if(n==0)
{
break;
}
wei=1;
jg=0;
da[0]=1;
dfs(1);//抄博友
//cout<<jg<<endl; //不能在这输出数组会被改变
//for(int i=0;i<=jg;i++)
//{
// cout<<da[i];
//}
//cout<<endl;
}
return 0;
}
上一篇: 笑话集原创笑话精品展第176期
下一篇: BFS知识点总结
推荐阅读
-
POJ 3600 Subimage Recognition G++ dfs 巧妙 没掌握
-
POJ 1770 Special Experiment G++ 例题 dfs动态规划 建图巧妙 背
-
POJ 1426 Find The Multiple 简单dfs构造
-
POJ-1426 Find The Multiple
-
POJ1426 Find The Multiple
-
POJ - 1426(Find The Multiple)
-
POJ1426 Find The Multiple(E)
-
POJ1426 Find The Multiple 题解
-
POJ 1426 Find The Multiple G++ dfs 巧妙
-
POJ 1426 Find The Multiple(BFS)