解题思路:
贪心算法,一路贪心下去
注意事项:
参考代码:
#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 人评分
破解简单密码 (C语言代码)浏览:1761 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:625 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:758 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1140 |
C语言训练-求函数值 (C语言代码)浏览:573 |
【金明的预算方案】 (C++代码)浏览:838 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:582 |
Cylinder (C语言描述+详细分析)浏览:3262 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:606 |
字符逆序 (C语言代码)浏览:455 |