nyoj263精挑细选
来源:互联网 发布:任我行软件 编辑:程序博客网 时间:2024/06/06 03:07
这道题思路应该不少,这类题也很常见,就是有三个量让你进行比较,按照一定的顺序和一定的规则进行排布,然后输出相关的量,这道题我一共有两种方法,第一种比较繁琐,但是就是熟练一下类的使用,第二种是比较简单的方法,我都贴上,你可以比较一下。
精 挑 细 选时间限制:3000 ms | 内存限制:65535 KB难度:1描述 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管。这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下: 1、 这根钢管一定要是仓库中最长的; 2、 这根钢管一定要是最长的钢管中最细的; 3、 这根钢管一定要是符合前两条的钢管中编码最大的(每根钢管都有一个互不相同的编码,越大表示生产日期越近)。 相关的资料到是有,可是,手工从几百份钢管材料中选出符合要求的那根…… 要不,还是请你编写个程序来帮他解决这个问题吧。 输入 第一行是一个整数N(N<=10)表示测试数据的组数) 每组测试数据的第一行 有一个整数m(m<=1000),表示仓库中所有钢管的数量, 之后m行,每行三个整数,分别表示一根钢管的长度(以毫米为单位)、直径(以毫米为单位)和编码(一个9位整数)。 输出 对应每组测试数据的输出只有一个9位整数,表示选出的那根钢管的编码, 每个输出占一行 样例输入 2 2 2000 30 123456789 2000 20 987654321 4 3000 50 872198442 3000 45 752498124 2000 60 765128742 3000 45 652278122 样例输出 987654321 752498124
#include<iostream>using namespace std;class stern{ int length; int r; string bianhao; public: int getl(){ return length; } int getr(){ return r; } string getb(){ return bianhao; } void cinl(int l){ length=l; } void cinr(int r1){ r=r1; } void cinb(string bia){ bianhao=bia; }};int main(){ int n; cin>>n; while(n--){ int m; cin>>m; int length; int r; string bianhao; stern max; max.cinb("00000000"); max.cinl(0); max.cinr(0); while(m--){ cin>>length; cin>>r; cin>>bianhao; if(max.getl()<length){ max.cinl(length); max.cinb(bianhao); max.cinr(r); // cout<<" yes "<<endl; continue; } // cout<<" ajsd"<<endl; // cout<<max.getr()<<length<<endl; if(max.getl()==length&&max.getr()>r){ max.cinr(r); max.cinb(bianhao); max.cinl(length); //cout<<" ysss "<<endl; continue; } if(max.getb()<bianhao&&max.getl()==length&&max.getr()==r){ max.cinb(bianhao); max.cinl(length); max.cinr(r); continue; } } cout<<max.getb()<<endl; } return 0;}
第二种方法
#include<iostream>using namespace std;int main(){ int n; cin>>n; while(n--){ int m; cin>>m; int l,r; string bianhao; int lmax=0; int rmin=0; string bianhaomax="00000000"; while(m--){ cin>>l>>r>>bianhao; if(l>lmax||l==lmax&&r<rmin||l==lmax&&r==rmin&&bianhao>bianhaomax){ lmax=l; rmin=r; bianhaomax=bianhao; } } cout<<bianhaomax<<endl; } return 0;}
阅读全文
0 0
- NYOJ263精挑细选
- nyoj263 精挑细选
- nyoj263精挑细选
- nyoj263精挑细选
- nyoj263 精挑细选
- nyoj263 精挑细选
- NYOJ263精挑细选
- nyoj263精挑细选
- nyoj263精挑细选
- 精挑细选
- 精挑细选
- 精挑细选
- 精挑细选
- 精挑细选
- 精挑细选
- 精挑细选
- 精挑细选
- 263 精挑细选
- Java:static关键字 代码块
- 对象数组的内存图解
- poj 1637 (浅谈最大流在解决混合图欧拉回路中的应用)
- 最长上升子序列O(n^2) java
- JavaScript进阶篇
- nyoj263精挑细选
- ViewPager和ViewFlipper
- 高等概率论(10月10日周二)
- 集合的继承体系
- TCP/IP协议简介(二)
- vim底行模式命令
- JMS(二) 简单介绍和基本的安装
- c语言简单实现三子棋
- Oracle中的dual详解