lanqiao OJ 649 算式900

简介: lanqiao OJ 649 算式900

1.算式900 - 蓝桥云课 (lanqiao.cn)

这个题跟前面那个寒假作业差不多,比那个还简单,就是排一下序,把所有的数都记录一遍,当长度够的时候就进行特判,还有值得一提的是,因为我们要求的是4位数,4位数,2位数,所以这三个数的开头值不能是0,要不然就会使数变成低一位数,虽然也是等于900,但是最后使不符合题意的。

#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
int v[20] ;
int a , b , c ;
int path[20];
void dfs(int u){
  if(u == 1 &&path[0]==0) return ;
  if(u==5 && path[4] == 0) return ;
  if(u==9 && path[8] == 0 ) return ;
  if(u == 10){
    int x = path[0] * 1000 + path[1] * 100 + path[2] * 10 + path[3] ;
    int y = path[4] * 1000 + path[5] * 100 + path[6] * 10 + path[7] ;
    int z = path[8] * 10 + path[9] ;
    if(x == 5012 && y == 4987 && z == 36) return ;
    
    if((x - y ) * z  == 900 && x && y && z){
      //for(int i = 0 ; i < 10 ; i ++) cout << path[i] << endl; 
      a = x , b = y , c = z ; return ;
    }else return ;
    
  }
  for(int i = 0 ; i < 10 ; i ++){
    if(!v[i]){
      path[u] = i ;
      v[i] = 1 ;
      dfs(u + 1) ;
      v[i] = 0 ;
    }
  }
  return ;
}
 
int main(){
  dfs(0);
  cout << "(" << a << "-" << b <<")*" << c<<"=900"<< endl ;
}
目录
相关文章
|
3天前
lanqiao OJ 1030 蓝肽子序列
lanqiao OJ 1030 蓝肽子序列
13 2
|
3天前
lanqiao OJ 689 四阶幻方
lanqiao OJ 689 四阶幻方
10 0
|
3天前
lanqiao OJ 1388 寒假作业
lanqiao OJ 1388 寒假作业
15 0
|
3天前
lanqiao OJ 364 跳石头
lanqiao OJ 364 跳石头
18 6
|
3天前
lanqiao OJ 389 摆花
lanqiao OJ 389 摆花
8 2
|
3天前
lanqiao OJ 664 方格填数
lanqiao OJ 664 方格填数
6 1
|
1天前
lanqiao oj 1050 补给
lanqiao oj 1050 补给
8 0
|
1天前
lanqiao oj 1085 小猪存钱罐
lanqiao oj 1085 小猪存钱罐
6 0
|
2天前
lanqiao OJ 1591 “123”
lanqiao OJ 1591 “123”
9 0
|
2天前
lanqiao OJ 1217 求立方根
lanqiao OJ 1217 求立方根
7 0