• Codeforces 439C


    题目链接

    比赛时间没能通过==, 只能说明自己代码写的太不严谨咯!

    解题思想就是贪心

    先判断无解的情况: 

      1. 奇数不够,因为偶数是无法凑成奇数的

      2. 偶数不够,2个奇数可以凑成一个偶数

      3. 在奇数够用的情况下, 先在k-p堆中每一堆都放一个奇数,

        那么剩余的奇数个数一定是个偶数,否则必定会有另外一堆数的和也为奇数。

    有解的情况,先放奇数, 每堆一个奇数。接下来要考虑偶数个数  < p的情况,

    也就是用两个奇数来凑一个偶数,输出k-1堆后,有解的情况可以保证最后一堆

    一定是满足条件的,也就是全部输出。

     

    附上代码:

     1 n, k, p = map(int, raw_input().split());
     2 a = map(int, raw_input().split());
     3 b, c = [], [];
     4 even, odd = 0, 0;
     5 for i in xrange(n):
     6   if a[i] % 2 == 0:
     7       even += 1
     8       b.append(a[i]);
     9   else:
    10       c.append(a[i]);
    11 odd = n - even;
    12 if odd < k-p or (odd-(k-p))/2+even < p or (odd-(k-p))%2:                                                      
    13     print "NO"
    14 else:
    15     print "YES";
    16     for i in xrange(k-p-1):
    17       print 1, c[i]
    18     if p == 0:
    19       print n-(k-p-1),
    20       for i in xrange(k-p-1, odd):
    21         print c[i],
    22       for i in xrange(0, even):
    23         print b[i],
    24     else:
    25          if k != p:
    26              print 1, c[k-p-1]
    27         j = k - p;
    28         if even >= p and p:
    29             for i in xrange(p-1):
    30                   print 1, b[i]
    31             left = n - (k-p) - (p-1)
    32             print left, 
    33             for i in xrange(k-p, odd):
    34                   print c[i],
    35             for i in xrange(p-1, even):
    36                 print b[i],
    37         elif even < p and p:
    38             for i in xrange(even):
    39                 print 1, b[i]
    40             for i in xrange(p-even-1):
    41                 print 2, c[j], c[j+1]
    42                 j += 2
    43             left = n - even - j;
    44             print left, 
    45             for i in xrange(j, j+left):
    46                 print c[i],
  • 相关阅读:
    conn
    快速指数算法+Python代码
    扩展欧几里得算法+Python代码
    最速下降法+Matlab代码
    第二类生日攻击算法
    遗传算法+Python代码
    模糊聚类+Matlab代码
    数据库检索
    Spring Data Jpa依赖和配置
    上传Typora到博客园(解决图片缩放问题)
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3769787.html
Copyright © 2020-2023  润新知