hiho week 98 register

Ended

Participants:433

Verdict:Accepted
Score:100 / 100
Submitted:2016-05-15 15:30:10

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <math.h>
const int MAXN=4;
double nums[MAXN];
bool isSolve=false;
void dfs(int n)
{
        if(isSolve)
                return;
        if(n==1&&fabs(nums[0]-24)<=1e-10)
        {
                isSolve=true;
                return;
        }
        for(int i=0;i<n;i++)
        {
                for(int j=i+1;j<n;j++)
                {
                        double a=nums[i];
                        double b=nums[j];
                        nums[j]=nums[n-1];
                        nums[i]=a+b;
                        dfs(n-1);
                        nums[i]=a-b;
                        dfs(n-1);
                        nums[i]=b-a;
                        dfs(n-1);
                        nums[i]=a*b;
                        dfs(n-1);
                        if(a!=0)
                        {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX