测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70670. 算24点(2)

编程题 基础

题目描述

给出 n 个整数,请问这 n 个数字在不改变顺序且不加入括号的情况下,仅通过 +- \times 三种运算符,有多少种运算能得到 24

比如:4 10 2 4 8,有如下 3 种运算能够得到24

4+10-2+4+8=24
4-10-2+4*8=24
4*10-2*4-8=24

输入格式

1 行有一个整数 n ;(2 \le n \le 10

2 行有 n 个整数 a_i ;(1 \le a_i \le 20

输出格式

一个整数,代表能计算出 24 点的方案数;

输入输出样例

输入 #1
5
4 10 2 4 8
输出 #1
3

说明/提示

## 思路

「算24点(2)」用深度优先搜索:沿一条路走到底再回溯,注意标记访问。

## 步骤

1. 读入图或网格。
2. 从起点 DFS,标记 vis,扩展相邻状态。
3. 在边界处更新答案或输出路径,回溯时恢复。