观察下面的加法算式:
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请你填写“三羊献瑞”所代表的4位数字(答案唯一),不要填写任何多余内容。
#include <iostream>
using namespace std;
int a[15];
bool vis[15];
bool test(int n){
if (n>8)
{
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]))
{
return 1;
}
else
{
return 0;
}
}
}
void dfs(int step){
if (step==9)
{
if (test(step))
{
cout<<a[5]<<a[6]<<a[7]<<a[2]<<endl;
}
return;
}
for (int i = 0; i < 10; i++)
{
if (!vis[i])
{
a[step]=i;
vis[i]=1;
dfs(step+1);
vis[i]=0;
}
}
}
int main(){
dfs(1);
return 0;
}