sicily_1134 积木分发

标签(空格分隔): sicily 贪心算法

题目链接

思路

贪心算法:让需求较少的人先完成积木,如果这样子也不能满足后面的人的需求的话,那就失败。

代码

// Problem#: 1134
#include<stdio.h>

int main() {
  int i, j1, j2, n;
  int s, a[10000 + 10] = { 0 }, b[10000 + 10] = { 0 };

  while (scanf("%d %d", &n, &s) && n) {
    for (i = 0; i < n; i++) scanf("%d %d", &a[i], &b[i]);

    for (j1 = 0; j1 < n; j1++) {
      for (j2 = j1; j2 < n; j2++) {
        if (b[j2] < b[j1]) {
          a[j2] ^= a[j1] ^= a[j2] ^= a[j1];
          b[j2] ^= b[j1] ^= b[j2] ^= b[j1];
        }
      }
    }

    for (i = 0; i < n; i++) {
      if (s >= b[i])
        s += a[i];
      else
        break;
    }

    printf(i == n ? "YES\n" : "NO\n");
  }

  return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,631评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,955评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • 君生我未生,我生君已老。君恨我生迟,我恨君生早。 君生我未生,我生君已老。恨不生同时,日日与君好。 总是会听秀姨...
    O远在北方_孤独的鬼o阅读 1,846评论 0 2
  • 大多数家长对孩子的智力发展比对孩子的人格发展更为关注。人们对智力有着如宗教一般的痴迷。什么才是儿童的智力发展呢?...
    VanAllen阅读 3,517评论 1 0