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
  • 相关阅读:
    编程模式
    第六章类(十九)readonly
    Javascript----实现鼠标背景效果(同时不影响其操作)
    Javascript----input事件实现动态监听textarea内容变化
    javascript----mouseover和mouseenter的区别
    Javascript----实现火箭按钮网页置顶
    Javascript----scroll事件进度条监听
    Javascript----生成省-市下拉表单
    Javascript----增删改查
    javascript-----轮播图插件
  • 原文地址:https://www.cnblogs.com/Rhythm-/p/9338903.html
Copyright © 2011-2022 走看看