解题思路:
贪心算法,一路贪心下去
注意事项:
参考代码:
#include<iostream> #include<algorithm> using namespace std; const int maxn = 10010; typedef long long LL; struct Block{ LL have; LL sum; LL need; }block[maxn]; bool cmp(Block x,Block y) { return x.need<y.need; } int main(void) { int m,n,count=0; bool ans[10]; cin >> m; while(count<m) { cin >> n; for(int i=0;i<n;i++) cin >> block[i].have >> block[i].sum; for(int i=0;i<n;i++) block[i].need = block[i].sum-block[i].have; sort(block,block+n,cmp); ans[count] = true; LL sum = 0; for(int i=0;i<n;i++) { if(sum+block[i].have>=block[i].sum) { sum+=block[i].have; } else { ans[count]=false; break; } } count++; } for(int i=0;i<m;i++) { if(ans[i]) { cout << "YES" << endl; } else { cout << "NO" << endl; } } return 0; }
0.0分
7 人评分
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:684 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:533 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:588 |
【回文数(二)】 (C++代码)浏览:873 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:527 |
C语言训练-大、小写问题 (C语言代码)浏览:2357 |
剔除相关数 (C语言代码)浏览:1015 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:604 |
简单的a+b (C语言代码)浏览:340 |