nyoj236心急的C小加

2024-02-16 11:38
文章标签 nyoj236 小加 心急

本文主要是介绍nyoj236心急的C小加,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

心急的C小加

时间限制: 1000 ms  |  内存限制: 65535 KB
难度: 4
描述

C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗?

输入
第一行是一个整数T(1<T<1500),表示输入数据一共有T组。
每组测试数据的第一行是一个整数N(1<=N<=5000),表示有N个木棒。接下来的一行分别输入N个木棒的L,W(0 < L ,W <= 10000),用一个空格隔开,分别表示木棒的长度和质量。
输出
处理这些木棒的最短时间。
样例输入
3 
5 
4 9 5 2 2 1 3 5 1 4 
3 
2 2 1 1 2 2 
3 
1 3 2 2 3 1 
样例输出
2
1
3
 
#include<stdio.h>
#include<algorithm>
using namespace std;
struct stick
{int length;int weight;
}a[5001];
int cmp(stick x,stick y)
{if(x.length!=y.length)return x.length<y.length;//按照长度从小到大排序 else return x.weight<y.weight;//若长度一样,则按重量从小到大排序 
}
int main()
{int T,n,i,j,temp;int sum;scanf("%d",&T);while(T--){sum=0;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d%d",&a[i].length,&a[i].weight);sort(a,a+n,cmp);for(i=0;i<n;i++)//长度和大小已经按从小到大排好序 {if(a[i].weight!=0){sum++;//启动时间加1 temp=a[i].weight;for(j=i+1;j<n;j++){if(a[j].weight>=temp)//由于长度是按从小到大的顺序排好的,所以,比较重量就行了。 {					//如果第i+1根木棒的重量大于第i根木棒的重量,就将其标记为0,然后继续比较。 temp=a[j].weight; a[j].weight=0;}}}}printf("%d\n",sum);}return 0;
}

此题注意,处理第一根木棒是不需要消耗时间的,应为第一根木棒之前没有木棒,所以
相当于第一根木棒之前的木棒长度和重量都是0

这篇关于nyoj236心急的C小加的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/714420

相关文章

NYOJ--255 C小加 之 随机数

C小加 之 随机数 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 1 描述 ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(0<N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去

心急的C小加 nyist236

心急的C小加 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应

nyoj-257-郁闷的C小加(一 )中缀式变后缀式

题目链接:here~~~~~~~ 今天看了此题,感觉栈和队列很好用,进一步深入了解 一个算术表达式,含有数字(为简化处理,数字只有一位),运算符:+、-、*,以及括号,求表达式的值。  给出的表达式是一般我们见到的中缀表达式,即运算符位于操作数之间。如果把中缀表达式转化为后缀表达式,那么对后缀表达式求值将会很方便。  后缀表达式特点:   1.操作符位于操作数之后;

送一首诗给心急的、望子成龙的父母们——《牵一只蜗牛去散步》

如果你总忍不住对孩子发火,读读下面的文章: ----------------------------------------- 《牵一只蜗牛去散步》 (台湾 张文亮)   上帝给我一个任务   叫我牵一只蜗牛去散步。   我不能走太快,   蜗牛已经尽力爬,   为何每次总是那么一点点?   我催它,我唬它,我责备它,   蜗牛用抱歉的眼光看着我,   彷佛说:「人家已经尽力了嘛!」   我

nyoj257郁闷的c小加(一)(栈和队列)

郁闷的C小加(一) 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3 描述 我们熟悉的表达式如a+b、a+b*(c+d)等都属于中缀表达式。中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2。同理,后缀表达式就是操作符在两个操作数之后:num1 num2 operand。ACM队的“C小加”正在郁闷怎样把一个中

nyoj236 心急的C小加 贪心

dp分类的题,写了用dp的代码超时了,看了网上也没有dp的代码,就用贪心吧。 “如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间”。 先按重量升序排好。定义一个temp常量记录当前的长度,然后遍历,如果有长度大于temp的替换掉temp并把该位的长度改成0表示该位已经不耗费时间,所以我们遍历的时候也要判断该位的长度是不是等于0,如果不等0就表示就耗费一个新的单位时间。

nyoj255 C小加 之 随机数

C小加 之 随机数 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 1 描述 ACM队的“C小加”同学想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(0<N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照

nyoj236 心急的C小加 【贪心】

这道题是不是有点问题??为什么先对质量排序再对长度排序是wa, 二先对长度排序再对质量排序ac!! 按理说不应该是一样吗? 希望大神赐教!! 心急的C小加 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木