题目大意:
有一个由n个数组成的数列,如果相邻的两个数和为奇数,则这两个数可以消去,问怎么消可以使剩下的数字最少。
解题思路:
无论怎么消结果都是一定的,所以直接贪心即可。
代码:
#include <cstdio>
#include <stack>
using namespace std;
int n,now;
stack<int> s;
int main()
{
scanf("%d",&n);
for(int i = 0; i < n; i ++){
scanf("%d",&now);
if(!s.empty() && (s.top() + now) % 2 == 1){
s.pop();
}
else{
s.push(now);
}
}
printf("%d\n",s.size());
return 0;
}