题解 | #24点游戏算法# 说实话,我仍然是懵的
24点游戏算法
https://www.nowcoder.com/practice/fbc417f314f745b1978fc751a54ac8cb
#include <stdio.h>
static int v[4]={0};
int dfs(int *a,double s)
{
if(s==24)
{
return 1;
}
else
{
for(int i=0;i<4;i++)
{
if(v[i]==0)
{
v[i]=1;
if(dfs(a,s+a[i])||dfs(a,s-a[i])||dfs(a,s/a[i])||dfs(a,s*a[i]))
return 1;
v[i]=0;
}
}
}
return 0;
}
int main() {
int a[4];
for(int i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
if(dfs(a,0))
printf("true");
else
printf("false");
return 0;
}
查看15道真题和解析