博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #278 (Div. 2) b
阅读量:6705 次
发布时间:2019-06-25

本文共 3181 字,大约阅读时间需要 10 分钟。

hot3.png

/** * * @brief Codeforces Round #278 (Div. 2) b * @file b.c * @author mianma * @created 2014/11/24 17:52 * @edited  2014/11/18 17:52 * @type brute *  * @note  *          declare k >= 0; *              then  *                  x1 = k *                  x2 + x3 = 4k; *                  x4 = 3k *                  x1 <= x2 <= x3 <= x4 * */#include 
#include 
using namespace std;#define MAXN 2000#define max(a, b)  ((a) > (b) ? (a) : (b))#define min(a, b)  ((a) > (b) ? (b) : (a)) #define abs(a)     ((a) >  0  ? (a) : (0 - (a)))int tmp;int n;int table[MAXN + 50];int anstable[MAXN + 50];int usetable[MAXN + 50];int main(){#ifdef DEBUG    freopen("./in",  "r", stdin);    freopen("./out", "w", stdout);#endif    scanf("%d", &n);    for(int i = 0; i < n; i++){        scanf("%d", &tmp);            table[tmp]++;    }    if(!n){        printf("YES\n");        printf("1\n1\n3\n3\n");        return 0;    }    int a, b, c, d;    for(a = 0; a <= 500; a++)        for( d = 3*a, b = 0; b <= 4*a; b++){                c = a + d - b;        if(a <= b && b <= c && c <=d)                 ;        else              continue;                anstable[a]++;                anstable[b]++;                anstable[c]++;                anstable[d]++;                int cnt;                int cost = 0;                int tot  = 0;                if(!usetable[a] && anstable[a] >= table[a]){                      anstable[a] -= table[a];                      cost        += table[a];                      usetable[a] = 1;                 }                if(!usetable[b] && anstable[b] >= table[b]){                     anstable[b] -= table[b];                     cost      += table[b];                     usetable[b] = 1;                }                if(!usetable[c] && anstable[c] >= table[c]){                     anstable[c] -= table[c];                     cost      += table[c];                     usetable[c] = 1;                }                if(!usetable[d] && anstable[d] >= table[d]){                     anstable[d] -= table[d];                     cost      += table[d];                     usetable[d] = 1;                 }                                  if(cost == n){#ifdef DEBUG      printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);#endif      //return 0;                    printf("YES\n");                    while(anstable[a]-- > 0)                        printf("%d\n", a);                    while(anstable[b]-- > 0)                        printf("%d\n", b);                                        while(anstable[c]-- > 0)                        printf("%d\n", c);                    while(anstable[d]-- > 0)                        printf("%d\n", d);                                        return 0;                }else{                    anstable[a] = 0;                    anstable[b] = 0;                    anstable[c] = 0;                    anstable[d] = 0;                    usetable[a] = 0;                    usetable[b] = 0;                    usetable[c] = 0;                    usetable[d] = 0;                }            }            printf("NO\n");    return 0;}

转载于:https://my.oschina.net/u/572632/blog/348318

你可能感兴趣的文章
漫谈程序猿系列:群星闪耀的黄金时代
查看>>
使用Spring Session做分布式会话管理
查看>>
mongodb的NUMA问题
查看>>
spring 配置多数据源 (案例)
查看>>
js进阶 12-14 jquery的事件触发函数是哪两个
查看>>
艾伟也谈项目管理,产品版本改造中的项目管理
查看>>
HP官方提供的LR在线基础视频教程
查看>>
yii 隐藏index.php
查看>>
OEA框架学习:使用动软代码生成器
查看>>
【编程范式】汇编解释swap方法
查看>>
[置顶] LLVM每日谈之十五 LLVM自带的examples
查看>>
2013下半年-学习目录
查看>>
网速4M等于多少KB/S,等于多少kbps
查看>>
MySQL MERGE存储引擎 简介
查看>>
asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化
查看>>
用vs2013开发node.js的addon.
查看>>
atitit。自己定义uml MOF EMF体系eclipse emf 教程o7t
查看>>
atitit.taskService 任务管理器的设计 v1
查看>>
编写jquery插件的分享
查看>>
机器学习 —— 概率图模型(学习:对数线性模型)
查看>>