码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces 1147 C

时间:2019-08-21 23:03:14      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:怎么   ++   class   i++   false   namespace   element   cpp   tmp   

一开始考虑到了1的个数。。。
后来发现应该是最小值的个数。
考虑两种情况。
最小值的个数不大于一半,那么我们可以选一些石子使得最小值的个数大于一半。
最小值的个数大于一半的话,我们不管怎么选,都会使得最小值的个数小于一半。

然后我们很容易发现后者是必败态,比方说1111这样子。
那么前者就是必胜态了。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,a[55];
int main(){
    ios::sync_with_stdio(false);
    cin>>n;int tmp = 0;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        if(a[i]==*min_element(a+1,a+1+n))tmp++;
    }
    if(tmp<=n/2){
        cout<<"Alice"<<endl;
    }else{
        cout<<"Bob"<<endl;
    }
}

codeforces 1147 C

标签:怎么   ++   class   i++   false   namespace   element   cpp   tmp   

原文地址:https://www.cnblogs.com/MXang/p/11391730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!