0
点赞
收藏
分享

微信扫一扫

【深度优先搜索】计蒜客:找数字

夕颜合欢落 2022-02-13 阅读 49

第一位是1,之后每一位可以选择0或者1。

因为题目中问的是是否存在,那么我们找到一个解之后就可以停止搜索了。

剪枝操作:

 代码:
注意用long long

#include<iostream>
using namespace std;
int n;
bool flag;
void dfs(long long num){
	if(flag==true){
		return;
	}
	if(num%n==0){
		cout<<num<<endl;
		flag=true;
		return;
	}
	
	dfs(num*10);
	dfs(num*10+1);
} 

int main(){
	flag=false;
	cin>>n;
	dfs(1);
}
举报

相关推荐

0 条评论