0
点赞
收藏
分享

微信扫一扫

蓝桥杯-三羊献瑞 dfs

蓝桥杯-三羊献瑞 dfs_#define
题目如上:
思路;按题意模拟即可,有多种情况,答案一定是四位的。
通过观察,羊对应的数字一定是1。
代码;

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<queue>
#include<cmath>
#include<cctype>
#include<stack>
#include<map>
#include<string>
#include<cstdlib>
#define ll long long
//#define N 100010
using namespace std;
const ll maxn = 1e6 + 5;
const ll minn = 1e9 + 5;
const ll mod = 1000000007;
//ll a[maxn], b[maxn];
//bool vis[maxn];
int ans[maxn];
vector<int>v[maxn];
bool row[maxn], col[maxn];
//bool vis[maxn][maxn][2];
bool flag = 0;
int sum[maxn][10];
int cnt = 0;
int vis[maxn];
int a[maxn];
void dfs(int n)
{
if(n>9||flag)
return ;
if(n==9)
if(((a[1]*1000+a[2]*100+a[3]*10+a[4])+(a[5]*1000+a[6]*100+a[7]*10+a[2])==a[5]*10000+a[6]*1000+a[3]*100+a[2]*10+a[8])&&a[5]==1)
{
cout<<a[5]*1000+a[6]*100+a[7]*10+a[2]<<endl;
//flag=1;
return ;
}
for(int i=0;i<=9;i++)
{
if(!vis[i])
{
vis[i]=1;
a[n]=i;
dfs(n+1);
vis[i]=0;

}
}
}
int main()
{
dfs(1);
return 0;
}


举报

相关推荐

0 条评论