题目链接:点击打开链接
#include<stdio.h>
#include<math.h>
double a[4];
int dfs(int x)
{
int i,j;
double u,v;
if(x==1)
{
if(fabs(a[0]-24)<1e-8)
return 1;
return 0;
}
for(i=0;i<x;i++)
for(j=i+1;j<x;j++)
{
u=a[i];
v=a[j];
a[j]=a[x-1];
a[i]=u+v;
if(dfs(x-1)) return 1;
a[i]=u-v;
if(dfs(x-1)) return 1;
a[i]=v-u;
if(dfs(x-1)) return 1;
a[i]=v*u;
if(dfs(x-1)) return 1;
if(v!=0)
{
a[i]=u/v;
if(dfs(x-1)) return 1;
}
if(u!=0)
{
a[i]=v/u;
if(dfs(x-1)) return 1;
}
a[i]=u;
a[j]=v;
}
return 0;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf%lf",a,a+1,a+2,a+3);
if(dfs(4))
printf("yes\n");
else
printf("no\n");
}
return 0;
}