心急的C小加
来源:互联网 发布:淘宝9.9包邮网 编辑:程序博客网 时间:2024/05/09 18:27
心急的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
- 样例输出
213
- 来源
- POJ改编
- 上传者
陈玉
该代码时间超限:#include<iostream>#include<cstring>#define MAXN 5000+10using namespace std;/*void swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp;}*/int main(){ int t,n,l[MAXN],w[MAXN],i,j,count; int vis[MAXN],last; cin>>t; // scanf("%d",&t); while(t--) { count=0; cin>>n; memset(vis,0,sizeof(vis)); for(i=0;i<n;i++) cin>>l[i]>>w[i]; for(j=0;j<n-1;j++) { for(i=0;i<n-j-1;i++) { if(l[i+1]<l[i]) { swap(l[i+1],l[i]); swap(w[i+1],w[i]); } if(l[i+1]==l[i]) { if(w[i+1]<w[i]) { swap(l[i],l[j]); swap(w[i+1],w[i]); } } } } for(i=0;i<n;i++) { if(vis[i]==0) { count++; last=w[i]; for(j=i+1;j<n;j++) { if(vis[j]==0&&w[j]>=last) { vis[j]=1; last=w[j]; } } } } cout<<count<<endl; } return 0;}
运用结构体完破时间超限,时间:660#include<iostream>#include<cstring>#include<algorithm>#define MAXN 5000+10using namespace std;struct T{ int l; int w; int vis;}t[MAXN];bool cmp(T a,T b){ if(a.l<b.l) return 1; else if(a.l==b.l&&a.w<b.w) return 1; return 0;}int main(){ int sum,i,j,count,n,last; cin>>sum; while(sum--) { count=0; memset(t,0,sizeof(t)); cin>>n; for(i=0;i<n;i++) cin>>t[i].l>>t[i].w; sort(t,t+n,cmp); for(i=0;i<n;i++) { if(t[i].vis==0) { count++; last=t[i].w; for(j=i+1;j<n;j++) { if(t[j].vis==0&&t[j].w>=last) { t[j].vis=1; last=t[j].w; } } } } cout<<count<<endl; } return 0;}
0 0
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的c小加
- 心急的C小加
- 实验二:ARM指令
- python中的list http://www.jb51.net/article/47978.htm
- 生产者消费者:等待唤醒机制(最终版代码)
- 如何将dockerhub与github关联
- 操作系统整理
- 心急的C小加
- 为什么size_t重要?
- iOS-判断URL是否可用,判断网址是否正确
- 想玩好嵌入式,你需要关注以下几个方面
- Android API 23中废弃了HttpClient的解决办法
- js 控制 checkbox不选中
- ViewPagerIndictor框架的使用(第一部分)
- HDU 1232 畅通工程
- javaScript学习笔记——数组末尾元素的增加和删除