奇怪的歌手Pancake

原创 2015年11月19日 20:49:07

一道因缺斯汀的题目

先来看看题目

Description

歌手The Pancakes到幼儿园跟小朋友玩耍,她到达的时候小朋友们已经争着积木玩了。小朋友都想要更多的积木砌一个自己喜欢的图形,砌完就可以和The Pancakes合照。同时,The Pancakes手上还有一些积木,她可以把手上的这些积木全部给一个小朋友,然后等该小朋友砌完后就可以收回所发的积木和该小朋友原先手上的积木。但她不知道能否让所有的小朋友都和她合照,聪明的你可以帮助她吗?

Input

输入包含多个数据。
每个数据的第一行是两个正整数n和s,1≤n≤10000,1≤s≤1000000,表示一共有n位小朋友,The Pancakes手上有s块积木。以下有n行,每行有两个正整数,a和b,1≤a,b≤10^9,表示第i个小朋友手上有a块积木,还需要b块积木才能够砌完。
输入n=0时表示结束。

Output

如果可以让所有小朋友都和Pancake合照,就输出YES;否则,输出NO。

Sample Input

2 2
1 4
2 1
2 2
1 4
1 1
0 0

Sample Output

YES
NO

Problem Source

ZSUACM Team Member

(为了出道题,TA们也是为了剧情操碎了心~)

下面是我的代码

#include<stdio.h>
#include<string.h>
int main() {
    int k, n, phave, boyhave, need1, i, j, temp, rest, yn;
    int have[1000], need[1000];

    //输入数据 
    for (scanf("%d %d", &n, &phave); n != 0; scanf("%d %d", &n, &phave)) {
    for (k = 0; k < n; k++) {
        scanf("%d %d", &boyhave, &need1);
        have[k] = boyhave;
        need[k] = need1;
    } 
    //冒泡,小的在前 
    for (j = 0; j < n - 1; j++) {
        for (i = 0; i < n - 1; i++) {
            if (need[i] > need[i + 1]) {
               temp = need[i];
               need[i] = need[i + 1];
               need[i + 1] = temp;
               temp = have[i];
               have[i] = have[i + 1];
               have[i + 1] = temp;
} } }  
//开始分积木
    rest = n;
    for (k = 0; k < n; k++) {
        if (phave >= need[k]) {
            rest--;
            phave = phave + have[k];
} } if (0 == rest)
    printf("YES\n");
    else
    printf("NO\n");
} return 0;
}

END

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

奇怪奇怪!?

写了一个分页的程序,分页目录只有一个项,分页表本来也是只有一个项的,就是指向地址0b8000h,然后开启分页机制,只要把线形地址指向00000000h就可以对应到0b8000h的物理地址了,但是发现分...

Java算法-奇怪的分式

题目:上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 老师刚想批评他,转念一想,这个答案凑巧也...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

奇怪的宏

奇怪的宏   这一篇介绍这些奇怪的宏: 一、do while(0)   为了交换两个整型变量的值,前面值传递中已经用包含指针参数的 swap 函数做到了,这次用宏来实现(swap.c): #...

奇怪的SharedPreference

Preference和SharedPreference。

奇怪的const_cast

const_cast   用法:const_cast (expression)   该运算符用来修改类型的const或volatile属性。除了const 或volatile修...

神奇的 1752年9月

September 1752 Su Mo Tu We Th Fr Sa 1 2 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 地球环绕...

1274 奇怪的梦

描述 上完算法课回来的路上,你仍然为DP的优美而赞叹不已。 正所谓日有所思,夜有所梦,午觉也不例外。因为研究DP太过投入,睡午觉的时候你做了一个很奇怪的梦。 梦里你回到了19世纪。那时的人们还没有计算...

奇怪的捐赠

标题:奇怪的捐赠     地产大亨Q先生临终的遗愿是:拿出100万元给X社区的居民抽奖,以稍慰藉心中愧疚。 麻烦的是,他有个很奇怪的要求: 1. 100万元必须被正好分成若干份(不能剩余)...
  • sdzhr
  • sdzhr
  • 2017-03-19 15:37
  • 503

奇怪的分式

奇怪的分式   上小学的时候,小明经常自己发明新算法。一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png) ...

奇怪的比赛

仍然是蓝桥杯问题——奇怪的比赛 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:每位选手需要?回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)