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

Ural1924(模拟+贪心)

时间:2015-03-03 15:12:04      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:贪心   模拟   

题目链接:点击打开链接


解题思路:

在1到n之间插入+、-号,两个队伍都使用最优策略。看最后所得结果的奇偶性断胜负。

贪心即可。贪的原则是首先明确这场是谁放置加减号,如果是第一个队伍,那么因为结果是偶数对他们有利,那么我们就尽可能使结果为偶。无论加减都不能使结果为偶数的话,那么索性直接加上即可。同理,对于第二支队伍,只要尽量使当前结果为奇数即可。


完整代码:

#include <algorithm>
#include <iostream>
#include <cstring>
#include <climits>
#include <cstdio>
#include <string>
#include <cmath>
#include <map>
#include <queue>
using namespace std;
typedef long long LL;
const int MOD = int(1e9)+7;
const int INF = 0x3f3f3f3f;
const double EPS = 1e-9;
const double PI = acos(-1.0); //M_PI;

int main()
{
    #ifdef DoubleQ
    freopen("in.txt","r",stdin);
    #endif
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    int n;
    while(cin >> n)
    {
        int sum = 1 , k = 2;
        for(int i = 1 ; i <= n - 1 ; i ++)
        {
            if(i % 2)
            {
                if( (sum + k) % 2 == 0)
                    sum += k;
                else if( (sum - k) % 2 == 0)
                    sum -= k;
                else
                    sum += k;
            }
            else
            {
                if( (sum + k) % 2 )
                    sum += k;
                else if( (sum - k) % 2 )
                    sum -= k;
                else
                    sum += k;
            }
            k ++;
        }
        if(sum % 2 == 0)
            cout << "black" << endl;
        else
            cout << "grimy" << endl;
    }
}

更多精彩请访问:点击打开链接

Ural1924(模拟+贪心)

标签:贪心   模拟   

原文地址:http://blog.csdn.net/u013447865/article/details/44037833

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