薛广搜我才会
2024-08-19 11:00:21
发布于:浙江
8阅读
0回复
0点赞
//04广度优先搜索
#include <bits/stdc++.h>
using namespace std;
const int N=1e4+10;
string x,t(8,'*');
//int a[N],k;
int ans=0;
int flag=0;
int vis[N];
/*
void solve(){
long long a,b;
cin>>a>>b;
long long x=a^k,y=b^k;
int k1,k2;
k1=x;
k2=y/5;
if(min(k1,k2)%2==0){
k==2;
cout<<2<<endl;
}else {
k==1;
cout<<1<<endl;
}
}*/
void dfs(int dep){
if(flag==1)return;
if(dep==8){
ans++;
if(t==x){
flag=1;
}
return;
}
for(char i='0';i<='9';i++){
if(vis[i]==1)continue;
vis[i]=1;
t[dep]=i;
dfs(dep+1);
vis[i]=0;
}
}
int main(){
//价格统计 过 √
//披萨
freopen("run.in","r",stdin);
freopen("run.out","w",stdout);
// int t;
// cin>>t;
// while(t--){
// solve();
// }
cin>>x;
dfs(0);
cout<<ans;
// int n,m;
// cin>>n;//>>m;
// for(int i=1;i<=n;i++){
// int x=0;
// cin>>x;
// a[x]=1;
// }
// int cnt=0;
// cin>>m;
// int ans=0;
// while(m){
// a[cnt]=m%2;
// m/2;
// cnt++;
// }
//二进制a:1:最高位,cnt-1最低位
//int sum=0;
// for(int i=0;i<n;i++){
// int x;
// cin>>x;
// if((m>>i)&1){
// sum+=x;
// }
// //cnt--;
// }
// cout<<sum;
// for(int i=1;i<=m;i++){
// int k;
// cin>>k;
// int flag=1;
// for(int j=1;j<=k;j++){
// int x;
// cin>>x;
// if(a[x]==1){
// flag=0;
// }
// }
// if(flag)ans++;
// }
// cout<<ans;
fclose(stdin);
fclose(stdout);
return 0;
}
这里空空如也
有帮助,赞一个