zoukankan      html  css  js  c++  java
  • Codeforces Round #693 (Div. 3) B. Fair Division

    B. Fair Division

    题目分析

    题意:给你一串数字,只有1和2,问你在不拆开2的情况下能否将数字给两个人,使得两个人分的数字的和相等

    首先先判断一下数字和是否为奇数,如果为奇数则直接输出NO;随后再判断输入2的个数为奇数且没有输入1的情况,如果满足此情况,则直接输出NO;除了以上两种情况,之后的任何情况都能达成目的,输出YES

    这道题除了这种方法之外还有其他方法,但是作为一道思维题,还是值得我们多去思考一下,发掘隐藏在其背后的规律。

    #include<iostream>
    using namespace std;
    int T, n;
    int main(){
        ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
        cin >> T;
        while(T--){
            int sum  =0;
            bool f = 0 //标记是否出现过1
            cin >> n;
            for(int i = 0; i < n; i++){
                int x;cin >> x;
                sum += x;
                if(x == 1) f = 1;
            }
            if(sum & 1) cout << "NO" << endl;
            else if(n & 1 && !j) cout << "NO" << endl;
            else cout << "YES" << endl;
        }
        
        return 0;
    }
    
  • 相关阅读:
    Java注解
    java反射简单入门
    java泛型反射
    BeanUtils.populate的作用
    适配器模式
    原型模式
    抽象工厂模式
    工厂方法模式
    建造者模式
    单例模式
  • 原文地址:https://www.cnblogs.com/FrankOu/p/14235235.html
Copyright © 2011-2022 走看看