2017微软秋季校园招聘在线编程笔试(第一题)

来源:互联网 发布:林书豪2016数据 编辑:程序博客网 时间:2024/04/30 14:30

题目大意:

        有一个由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;}


0 0
原创粉丝点击