给出n个数,每次你可选择相邻且相等的两个数字将其删除,你可以进行任意次上述操作,现在问你能不能将该数组完全删除 (0\leq n \leq2e50≤n≤2e5 ,保证数组元素的值在intint范围内) 如果可以输出”YES”,否则输出”NO”
输入
两行数字,第一行输入一个数字n。接下来一行有n个数字
输出
"YES" 或 "NO"
样例输入 Copy
10
1 2 2 3 4 4 3 1 2 3
样例输出 Copy
NO
提示
第一步你可以消除一对 2 数组变成1 3 4 4 3 1 2 3,
第二步你可以消除一对 4 数组变成1 3 3 1 2 3,
第三步你可以消除一对 3 数组变成1 1 2 3,
第三步你可以消除一对 1 数组变成 2 3.
显然不能被完全删除

问题 I: 数字消除学校oj的题目 ac94%不知道错哪儿
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-天际的海浪 2021-10-26 02:15关注
你题目的解答代码如下:
#include <iostream> using namespace std; int main() { int n,m,i,j=-1; cin >> n; int a[n]; for (i = 0; i < n; i++) { cin >> m; if (j>-1 && m==a[j]) j--; else a[++j] = m; } if (j==-1) cout << "YES"; else cout << "NO"; return 0; }
如有帮助,望采纳!谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用