ACdream - 1073 雷霆战机
来源:互联网 发布:c语言贪吃蛇代码 编辑:程序博客网 时间:2024/04/29 19:56
中文题,根据题意做就好,判断条件比较多,改 bug 要很久而且容易糊。学长说中文题一定要做出来,结果是最后 AC 的,中文题真的没比英文题好做,一把心酸泪。
提供一个样例:
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>using namespace std;int level[4];int EXP[10000];int cmp(const void*a, const void *b) { return *(int*)a - *(int*)b;}int main() { int N; while(scanf("%d", &N) != EOF) { memset(EXP, 0, sizeof(EXP)); for (int i = 0; i < 4; i++) scanf("%d", &level[i]); for (int i = 0; i < N; i++) scanf("%d", &EXP[i]); if (N < 4) { printf("NO\n"); continue;} qsort(EXP, N, sizeof(int), cmp); int cnt = 0; for (int i = 0; i < 4; i++) { int tag, exp = 0; for (tag = 0; tag < N; tag++) if (EXP[tag] != 0) break; if (tag == N) break; for (int j = 0; j < N; j++) { if (exp + EXP[j] >= level[i]) { exp += EXP[j]; EXP[j] = 0; } else if (j == N - 1) { while (EXP[j] == 0) j--; exp += EXP[j]; EXP[j] = 0; j = -1; } if (exp >= level[i]) { cnt++; break;} for (tag = 0; tag < N; tag++) if (EXP[tag] != 0) break; if (tag == N) break; } } if (cnt == 4) { int sum = 0; for (int i = 0; i < N; i++) { sum += EXP[i]; } printf("YES %d\n", sum); } else printf("NO\n"); }return 0;}
0 0
- ACdream 1073 雷霆战机
- ACdream 1073 雷霆战机
- ACdream 1073 雷霆战机
- ACdream - 1073 雷霆战机
- ACdream-1073 雷霆战机
- ACdream 1073 雷霆战机 (模拟 + set容器的使用)
- 1073 雷霆战机
- ACDREAM 03A 雷霆战机(贪心专场)
- 雷霆战机
- 雷霆战机
- A - 雷霆战机
- 雷霆战机(贪心)
- ACdream1073-雷霆战机
- 雷霆战机项目
- 雷霆战机装备最强推荐搭配
- Unity编写雷霆战机流程(一)
- Unity编写雷霆战机流程(二)
- Unity 3D学习之雷霆战机(一)
- ccitt crc16
- linux下文件的复制、移动与删除命令
- xshell添加按钮
- 教你怎么写jQuery的插件
- 支付相关
- ACdream - 1073 雷霆战机
- mysql查询缓存打开、设置、参数查询、性能变量意思
- CodeForces 625A Guest From the Past
- java web开发一个帐号同一时间只能一个人登录
- seq_file接口创建可读写proc文件
- 安装Ubutun 12.04 遇到the grub-efi-amd64-signed package failed to install into...【解决办法】
- 隐藏导航栏下面的黑线
- leetcode 151 Reverse Words in a String C语言版
- Git分支管理策略