Problem M: STL——整理唱片
来源:互联网 发布:青果软件 漏洞 编辑:程序博客网 时间:2024/05/16 12:21
HomeWeb BoardProblemSetStandingStatusStatistics
Submit: 4261 Solved: 1204
[Submit][Status][Web Board]
[Submit][Status][Web Board]
Problem M: STL——整理唱片
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4261 Solved: 1204
[Submit][Status][Web Board]
Description
小明有一个书架,但是他却用它放了许多唱片。但是他的习惯很不好,唱片胡乱摆放。于是他决定整理一下他的唱片。为了方便起见,小明用一个整数表示他对一张唱片的喜爱程度。
小明会对书架上的唱片进行的整理可以细化成如下操作:
1:在第一个喜爱程度为i唱片后放入一张喜爱程度为j的新唱片;
2:拿走所有的喜爱程度小于等于i唱片,因为小明无法忍受喜爱程度小于等于i的唱片
3:将所有喜爱程度为i的唱片拿出,并将一张喜爱程度为i的新唱片放入第一张喜爱程度为j的唱片后面。
输出小明整理完后的唱片排列情况(显示唱片的喜爱程度即可)
注:对于非法操作应该自动忽略,如情况1不存在要求的喜爱程度i,则自动忽略,不应该影响结果。
Input
输入有多组情况,每组第一行为n,表示唱片数,下一行有n个数字,表示各个唱片首小明的喜爱程度。下一行为m,小明的操作次数,一下m行每行开始包含一个数字t,表示题目中描述的操作种类,后面跟着一到两个数字,表示题目描述中的i和j
Output
每组情况输出一行,表示唱片整理后的情况,最后一个数字后木有空格。(n,m<=1000)
Sample Input
51 2 3 4 531 5 63 1 32 4
Sample Output
5 6
HINT
用STL的list容易解决。
Append Code
한국어< 中文 فارسی English ไทย
All Copyright Reserved 2010-2011 SDUSTOJ TEAM
GPL2.0 2003-2011HUSTOJ Project TEAM
Anything about the Problems, Please Contact Admin:admin
#include <iostream>#include <list>#include <cstdio>#include <algorithm>using namespace std; int main(){ int n,m; list<int> CD; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) { int a; cin >> a; CD.push_back(a); } cin >> m; for(int i=0;i<m;i++) { int num; cin >> num; if(num==1) { int step1,step2; cin >> step1 >> step2; list<int>::iterator qiqi; qiqi=find(CD.begin(),CD.end(),step1); if(qiqi!=CD.end()) CD.insert(++qiqi,step2); } else if(num==2) { int step; cin >> step; list<int>::iterator qiqi; for(qiqi=CD.begin();qiqi!=CD.end(); ) { if(*qiqi<=step) CD.erase(qiqi++); else qiqi++; } } else if(num==3) { int step1,step2; cin >> step1 >> step2; list<int>::iterator qiqi; qiqi=find(CD.begin(),CD.end(),step2); if(qiqi!=CD.end()) CD.remove(step1); qiqi=find(CD.begin(),CD.end(),step2); if(qiqi!=CD.end()) CD.insert(++qiqi,step1); } } list<int>::iterator zhgcu; for(zhgcu=CD.begin();zhgcu!=CD.end();zhgcu++) { if(zhgcu!=CD.begin()) cout << " "; cout << *zhgcu; } cout << endl; CD.clear(); }}
0 0
- Problem M: STL——整理唱片
- Problem M: STL——整理唱片
- 贪心算法—Problem M
- 动态规划—Problem M
- 图算法—Problem M
- Problem : STL——字典
- Problem : STL——水果店
- 动态规划——problem m
- Problem E: STL——括号匹配
- Problem F: STL——集合运算
- Problem I: STL——括号匹配
- Problem H: STL——表达式求值
- Problem J: STL——字典
- Problem K: STL——水果店
- Problem L: STL——字符串排序
- Problem E: STL——管道一
- Problem D: STL——管道二
- Problem B: STL——管道一
- Protocol Buffer
- ubuntu16.10下安装erlang和RabbitMQ
- ZOJ
- FFmpeg
- BigDecimal的应用
- Problem M: STL——整理唱片
- C语言复习0.2——位运算
- [FWT] 快速沃尔什变换学习笔记
- LEETCODE73Set Matrix Zeroes
- Eclipse 中 外部Maven 仓库配置
- React系列之开发大型网站最佳实践
- PYTHON----DAY2
- 《用python玩转数据》1
- 怎么将数字转换成时间