第三届蓝桥杯CC++B组2

福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:
ABCDE * ? = EDCBA
他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”
华生:“我猜也是!”
于是,两人沉默了好久,还是没有算出合适的结果来。
请你利用计算机的优势,找到破解的答案。
把 ABCDE 所代表的数字写出来。

答案写在“解答.txt”中,不要写在这里! 

#include<iostream>
#include<algorithm>
using namespace std;
/*int arr[11], brr[11];
void DFS(int i){
  if (i==7){
    if ((arr[1]*10000+arr[2]*1000+arr[3]*100+arr[4]*10+arr[5])*arr[6]==
    (arr[5]*10000+arr[4]*1000+arr[3]*100+arr[2]*10+arr[1])
    &&arr[1]!=0&&arr[5]!=0&&arr[6]!=0){
      cout<<arr[1]<<" "<<arr[2]<<" "<<arr[3]<<" "<<arr[4]<<" "<<arr[5]<<" "<<arr[6]<<endl;
    }
  }
  else{
    for (int j=0; j<=9; j++){
      if (!brr[j]){
        arr[i]=j;
        brr[j]=1;
        DFS(i+1);
        brr[j]=0;
      }
    }
  }
}
int main() {
  DFS(1);
  return 0;
} */
int main() {
  int arr[11]={0,1,2,3,4,5,6,7,8,9};
  do{
    if ((arr[1]*10000+arr[2]*1000+arr[3]*100+arr[4]*10+arr[5])*arr[6]==
    (arr[5]*10000+arr[4]*1000+arr[3]*100+arr[2]*10+arr[1])
    &&arr[1]!=0&&arr[5]!=0&&arr[6]!=0){
      cout<<arr[1]<<" "<<arr[2]<<" "<<arr[3]<<" "<<arr[4]<<" "<<arr[5]<<" "<<arr[6]<<endl;
      break;
    }
  }while (next_permutation(arr, arr+10));
  return 0;
}