zoukankan      html  css  js  c++  java
  • 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],
  • 相关阅读:
    内存溢出与内存泄漏
    Android性能优化系列之Bitmap图片优化
    android 内存泄漏,以及检测方法
    android view绘制流程 面试
    USACO milking cows
    USACO beads
    POJ3311 TSP问题 xingxing在努力
    HDU5074 dp xingxing在努力
    HDU2821 深搜 xingxing1024
    HDU5592 排队问题 xingxing在努力
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3769787.html
Copyright © 2011-2022 走看看