Problem B-1001
来源:互联网 发布:python cs 编辑:程序博客网 时间:2024/05/18 03:40
概述:现在有一个机器要加工一批木棒,现在对机器的要求是每次改进机器需要1分钟,而改装机器的要求是在加工木棒时下一根要加工的木棒比现在正在加工的木棒长度和重量都要大,若是小便需要改装机器。
思路:先将每一根木棒按照从大到小的顺序排序,优先排序长度,在排序重量。在处理时用贪心算法,选出符合规定的木棒,对不符合规定的木棒进行标记,选完一次之后再将标记的木棒进行第二次筛选,一次次重复,直到不能筛选为止。
感想:题意的理解并不难,要比problem E简单,但是在处理代码时遇到困难,不容易得出结果。
#include<iostream>#include<algorithm>#include<fstream>using namespace std;struct wood //定义一组结构体,用来表示长和宽{int longs;int weight;int flag;}strick[5001];bool cmp(const wood &a, const wood &b) //定义cmp排序顺序,先进行长度排序,当长度相同时进行重量排序,输出从大到小{if (a.longs != b.longs)return a.longs > b.longs;elsereturn a.weight > b.weight;}int main(){//ifstream cin("cin.txt");int T;cin >> T;while (T--){int n, num, min = 0;cin >> n;for (int i = 0;i < n;i++){cin >> strick[i].longs >> strick[i].weight;strick[i].flag = 0;}sort(strick, strick + n, cmp);num = 0;for (int i = 0;i < n;i++){if (strick[i].flag) continue;min = strick[i].weight;for (int j = i + 1;j < n;j++){if (min >= strick[j].weight&&!strick[j].flag){min = strick[j].weight;strick[j].flag = 1;}}num++;}cout << num << endl;}//system("pause");return 0;}
0 0
- 1001 A + B Problem
- 1001 A + B Problem
- Problem B-1001
- 西安电子Problem 1001 A+B Problem
- ZOJ Problem Set - 1001||A + B Problem
- 1001 Problem B && 1008 Problem I
- zoj 1001 A+B Problem
- ZOJ 1001 A + B Problem
- ZOJ 1001 A + B Problem
- ZJUT 1001 A+B Problem
- ZOJ - 1001--A + B Problem
- ZOJ 1001 A + B Problem
- [ZOJ][1001]A + B Problem
- ZOJ 1001 A + B Problem
- 洛谷1001 A+B Problem
- 【洛谷】1001 A+B Problem
- ZOJ 1001 A+B Problem
- YTU 1001: A+B Problem
- 计算机视觉、机器学习相关领域论文和源代码大集合
- request.getAttribute()与request.getParameter() 方法区别
- HTML网页之坦克大战游戏
- 转载一篇-光流法简单介绍
- 人艰不拆~找实习之路。
- Problem B-1001
- win7安装svn后相关问题
- 学习html,css,js记录(1)-html标签说明
- hdu4763(kmp)
- CentOS 6.5 下安装 Redis 2.8.7
- HTML网页之打地鼠游戏
- C#委托(delegate与事件(Event)
- 利用网络进行文件的上传,通过客户端上传到服务端
- 解析增量xml数据到数据库