T395546 【2024高级班测试 G.】消消乐

题目描述

2068年,郭老重新学会了 C++ 非常高兴,设计了一个简单的消消乐游戏。游戏的思路就是在一行字符串中,只要找到回文串就可以消除这个回文子串,回文子串被消除后其它字符串会连接在一起(消消乐通常是这样的),如果没有回文子串被消除,那就只能消除单个字母,单个字母也算回文子串。现在郭老游戏的结果是要求尽快把整个字符串都消除。回文子串的概念:如果一个子串正着读倒着读都一样,就称为回文子串。可是,罗某一不小心把郭老写的代码删掉了,郭老却忘记了该如何写,于是又请到了你来完成这个光荣的使命。

输入格式

第一行一个整数 $n$。 接下来 $n$ 个整数,每个整数之间用空格隔开。

输出格式

输出一个整数,代表最少的消除次数。

说明/提示

### 数据范围与提示 $1≤n≤500$,$1≤a_i≤n$ $a_i$ 为第 $i$ 个整数。 #### 样例 1 解释 ```6 7 8``` 没有回文子串,一个一个删除 $3$ 次 #### 样例 2 解释 ```4 5 6 5 4``` 正好一个回文子串,一次删除 #### 样例 3 解释 ```2 3 3 4 5 6 5 4 8 1``` 先删除 ```3 3```,再删除```4 5 6 5 4```剩下三个依次删除,次数是$5$。