zoukankan      html  css  js  c++  java
  • POJ 1014: Dividing

    #include <iostream>
    #include <string>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <deque>
    #include <map>
    #define range(i,a,b) for(int i=a;i<=b;++i)
    #define LL long long
    #define rerange(i,a,b) for(int i=a;i>=b;--i)
    #define fill(arr,tmp) memset(arr,tmp,sizeof(arr))
    using namespace std;
    int n[6],sum,cas;
    void init(){
    
    }
    bool dfs(int x){
        if(x==(sum>>1))return true;
        rerange(i,5,0)if(n[i]&&x+i+1<=(sum>>1)){
            --n[i];
            if(dfs(x+i+1))return true;
        }
        return false;
    }
    void solve(){
        while(cin>>n[0]){
            sum=n[0];
            range(i,1,5){
                cin>>n[i];
                sum+=n[i]*(i+1);
            }
            if(!sum)break;
            cout<<"Collection #"<<++cas<<":"<<endl;
            if(sum&1){
                cout<<"Can't be divided."<<endl<<endl;
                continue;
            }
            cout<<(dfs(0)?"Can be divided.":"Can't be divided.")<<endl<<endl;
        }
    }
    int main() {
        init();
        solve();
        return 0;
    }
    View Code
  • 相关阅读:
    Java关键字:transient,strictfp和volatile简介
    freemarker 数字格式化函数
    使用 BeanCopier 复制对象
    扩展Smack Message
    JavaScript 中2个等号与3个等号的区别
    Eclipse 3.5使用dropins的插件安装方式
    常见的HTTP 状态代码
    使用python操作FTP上传和下载
    Python操作redis
    Ubuntu14.04安装redis和简单配置
  • 原文地址:https://www.cnblogs.com/Rhythm-/p/9338903.html
Copyright © 2011-2022 走看看