B
2016-03-21 08:59
309 查看
题目编号:B(1001)
题目大意:题意不是很难。有一堆木棒,它有长度和质量2个属性。首先放第一个木棒,需要一分钟,把其他的木棒排在它后面,当后面的木棒的长度和质量都在其之上时,不需 要时间,否则需要额外加一分钟,要求把题目给的木棒都放在一起。求最小的时间。
解题思路:思路不是很难,一般的同学都可以想到的:首先创建个结构体数组,里面有3个属性,长度,质量和是否已用这个标记。创建结构体的时候记得重载一下小于号,为下 面的排序函数做准备。准备工作好了然后就是主函数了:首先输入题目要给的数据,输入进数组中,并标记全部为未用,然后排序。后面就是2个循环体的嵌套了。具 体解决的是:筛选一下前面的是否为已用,当已经被实用则外面的循环继续。否则进入下一个循环,目的是找到此长度和质量都比它大或者等于的,而且还未被用过的
木棒,找到了以后,把标记全部为已用。当然时间这个标量也要插在其中,考虑第一个的一分钟等等,这个不是很难。最后输出就行了。
解题感想:这个题目思路不是很难想,但细节需要把握准确的,我提交了多次才A,差点就暴走了。主要还是心态,细节决定成败!!!
题目大意:题意不是很难。有一堆木棒,它有长度和质量2个属性。首先放第一个木棒,需要一分钟,把其他的木棒排在它后面,当后面的木棒的长度和质量都在其之上时,不需 要时间,否则需要额外加一分钟,要求把题目给的木棒都放在一起。求最小的时间。
解题思路:思路不是很难,一般的同学都可以想到的:首先创建个结构体数组,里面有3个属性,长度,质量和是否已用这个标记。创建结构体的时候记得重载一下小于号,为下 面的排序函数做准备。准备工作好了然后就是主函数了:首先输入题目要给的数据,输入进数组中,并标记全部为未用,然后排序。后面就是2个循环体的嵌套了。具 体解决的是:筛选一下前面的是否为已用,当已经被实用则外面的循环继续。否则进入下一个循环,目的是找到此长度和质量都比它大或者等于的,而且还未被用过的
木棒,找到了以后,把标记全部为已用。当然时间这个标量也要插在其中,考虑第一个的一分钟等等,这个不是很难。最后输出就行了。
解题感想:这个题目思路不是很难想,但细节需要把握准确的,我提交了多次才A,差点就暴走了。主要还是心态,细节决定成败!!!
#include<iostream> #include<algorithm> using namespace std; struct group { int x; int y; int A; bool operator<(const group &a)const{ if(x!=a.x) { return x<a.x;} else { return y<=a.y;} } }G[5001]; int main() { int n,a,s; int i,j,k; cin>>n; while(n--) { cin>>a; for(i=0;i<a;i++) { cin>>G[i].x>>G[i].y; G[i].A=0; } sort(G,G+a); s=0; for(i=0;i<a;i++) { if(G[i].A==0) { s++; G[i].A=1; k=G[i].y; for(j=i+1;j<a;j++) { if(k<=G[j].y&&G[j].A==0) { G[j].A=1; k=G[j].y; } } } } cout<<s<<endl; } return 0; }
相关文章推荐
- 漂亮但不安全的CTB
- 【python】编程语言入门经典100例--22
- 各版本的STP BPDU
- 获取用户IP及IP城市
- php水印
- 在哪个字段有判断I,B,P帧的信息
- B+树到MySQL之innoDB
- 0x8004060c错误
- 枚举 JDK1.5
- abcd
- Spring CXF Mybatis 发布 Web Service 实例
- hdu 1002 A + B Problem II
- B - 报数游戏
- gen already exists but is not a source folder. Convert to a source folder or rename it.
- A and B and Compilation Errors——找出消失的数字
- 正则表达式 中的特殊符号
- 不接地气的jquery datatables,以后你还会用吗
- 使用标注表达式,怎样用正则表达式对同类字符串进行修改 (copied)
- UVA - 103 Stacking Boxes
- Unofficial Windows Binaries for Python Extension Packages