csu 1312 榜单(模拟题)
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1312
1312: 榜单
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 222 Solved: 84 [Submit][Status][Web Board]
Description
ZZY很喜欢流行音乐,每周都要跟踪世界各地各种榜单,例如Oricon和Billboard,现在给出每周各个单曲的销量请给出每周的TOP5以及TOP5中各个单曲的浮动情况。
量的排名是按照本周销量排名,而不是总销量。
浮动情况则是较上周的排名变动,也就是说即使某单曲本周销量比上周的差,但排名比上周高,也是*UP*。反之若排名比上周低则为*DOWN*。若与上周的名次一样,则是*STAY*。
若是本周发行的新单(前面未有统计过销量),则浮动的情况为*NEW*。所以第一周所有单的情况都为*NEW*。
Input
多组数据,每周第一行输入为一个正整数N(5<=N<=10)表示当周统计了销量的专辑数,当N=0时结束输入。(不超过10周)
每周的单曲名字都是不超过30位的字符串(不会有空格,连续的串),名字后面跟的就是销量,单周最大销量不超过200万张。并且在不同周,相同的专辑名字一定是一模一样(相同的字符串)。
每周不会出现两个单曲销量相同。
本周没有统计前面某个已存在单曲的销量则说明本周其销量小得可以忽略,为0。
Output
第一组数据为第一周,第二组数据为第二周,以此类推。
每周数据第一行为WEEK k其中k为周数,WEEK k的左右两边各16个'-'。
紧接着五行,依次为top1~top5。
先输出当前是第几名"rank.",再接着当前名次单曲较上周的浮动情况。
*DOWN*与*STAY*后面空两格格输出单曲名,*NEW*后面空三格输出单曲名,*UP*后面空四格输出单曲名。
每行输出完单曲名后不要输出多余空格。
具体输出格式细节参考样例。
Sample Input
6
AKB48-Give_me_Five 1200000
Adele-Set_Fire_To_The_Rain 900000
Katy_Perry-Part_Of_Me 400000
KANA-Sakura,I_love_you 360000
Nicki_Minaj-Starships 300000
AAA-SAILING 350000
5
KAT_TUN-CHAIN 550000
Adele-Set_Fire_To_The_Rain 850000
AKB48-Give_me_Five 500000
KANA-Sakura,I_love_you 300000
Nicki_Minaj-Starships 290000
0
Sample Output
----------------WEEK 1----------------
1.*NEW* AKB48-Give_me_Five
2.*NEW* Adele-Set_Fire_To_The_Rain
3.*NEW* Katy_Perry-Part_Of_Me
4.*NEW* KANA-Sakura,I_love_you
5.*NEW* AAA-SAILING
----------------WEEK 2----------------
1.*UP* Adele-Set_Fire_To_The_Rain
2.*NEW* KAT_TUN-CHAIN
3.*DOWN* AKB48-Give_me_Five
4.*STAY* KANA-Sakura,I_love_you
5.*UP* Nicki_Minaj-Starships 【题解】:
模拟题
【code】:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <vector> using namespace std; struct Nod
{
char name[];
int id;
int sum;
}node[]; vector<Nod> vct;
int tn; bool cmp(Nod a,Nod b)
{
return a.sum>b.sum;
} int isExist(int j)
{
int i,cnt=;
for(i=vct.size()-;i>=;i--)
{
cnt++;
if(strcmp(node[j].name,vct[i].name)==)
{
if(cnt<=tn)
{
node[j].id = vct[i].id;
}
else node[j].id = ;
return ;
}
}
return ;
} int main()
{
int n,week=;
tn=-;
while(~scanf("%d",&n)&&n)
{
int i;
for(i=;i<n;i++)
{
scanf("%s%d",node[i].name,&node[i].sum);
}
sort(node,node+n,cmp);
printf("----------------WEEK %d----------------\n",week++);
for(i=;i<;i++)
{
printf("%d.",i+);
if(!isExist(i)) printf("*NEW* ");
else if(node[i].id>i) printf("*UP* ");
else if(node[i].id<i) printf("*DOWN* ");
else printf("*STAY* ");
printf("%s\n",node[i].name);
}
for(i=;i<n;i++)
{
node[i].id = i;
vct.push_back(node[i]);
}
tn=n;
}
return ;
}
csu 1312 榜单(模拟题)的更多相关文章
- CSU1312:榜单(模拟)
Description ZZY很喜欢流行音乐,每周都要跟踪世界各地各种榜单,例如Oricon和Billboard,现在给出每周各个单曲的销量请给出每周的TOP5以及TOP5中各个单曲的浮动情况. 量的 ...
- 2016年Q2《网络安全创新500强》榜单解读
近日,美国投资咨询机构Cybersecurity Ventures发布了2016 Q2<网络安全创新500强>企业榜单,新兴安全公司root9B异军突起,国内4家企业上榜. 关于Cyber ...
- 【图文详解】scrapy安装与真的快速上手——爬取豆瓣9分榜单
写在开头 现在scrapy的安装教程都明显过时了,随便一搜都是要你安装一大堆的依赖,什么装python(如果别人连python都没装,为什么要学scrapy….)wisted, zope interf ...
- ZOJ1111:Poker Hands(模拟题)
A poker deck contains 52 cards - each card has a suit which is one of clubs, diamonds, hearts, or sp ...
- 2019浙大校赛--A--Thanks, TuSimple!(简单模拟题)
这题前三段都是一堆吹爆赞助商的屁话,正式题目在图片下边,一个简单模拟题. 题目大意: 有n个男生,m个女生在进行舞会,其中一部分男生祥和比自己矮的女生跳舞,一部分男生想和比自己高的女生跳舞,一部分女生 ...
- Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem K. UTF-8 Decoder 模拟题
Problem K. UTF-8 Decoder 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c702 ...
- CSU 1378 Shipura 简单模拟
上周末中南的题,当时就知道是个简单模拟题,可是一个多小时就是没写出来,代码能力啊 >.< 题意: 某人发明了一种程序语言,只支持一种运算">>",和一种函数 ...
- 最新榜单!消金企业TOP10,数据、风控、催收服务方TOP5
最新榜单!消金企业TOP10,数据.风控.催收服务方TOP5 布谷TIME2016-12-15 17:47:59消费 风控阅读(164)评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账 ...
- 年度榜单:2013年最佳免费 PSD 设计素材揭晓
<年度榜单>系列继续给大家带来2013年度发布的好东西,这篇文章要给大家分享的是本年度最佳的12套精美的 PSD 设计素材,你可以免费下载使用.这些免费素材不仅能帮助他们节省大量的时间,而 ...
随机推荐
- C语言下的简易计算器
#include <stdio.h> #include <math.h> int main() { double data1, data2; char op; == scanf ...
- 详解Win2003 IIS6.0 301重定向带参数的问题(转摘)
网站更换域名,把旧域名用301指到新域名来. 从iis中设置url永久转向就可以,看上去很容易,用了一会儿才发现,参数都没有带上. 从微软网站上找到如下说明,果然好使: 重定向参考 (IIS 6. ...
- HDOJ2014青年歌手大奖赛_评委会打分
青年歌手大奖赛_评委会打分 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- HDOJ2000ASCII码排序
ASCII码排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- 优化Android应用内存的若干方法
原帖地址:http://www.open-open.com/lib/view/open1392013992317.html 在app开发的各个阶段中要考虑RAM的限制问题, 包括在设计阶段(正式开发之 ...
- 第九篇、微信小程序-button组件
主要属性: 注:button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;} 效果图: ml: <!--默认的but ...
- Cocos2d-x开发实例介绍特效演示
下面我们通过一个实例介绍几个特效的使用,这个实例下图所示,下图是一个操作菜单场景,选择菜单可以进入到下图动作场景,在下图动作场景中点击Go按钮可以执行我们选择的特性动作,点击Back按钮可以返回到菜单 ...
- OpenGL7-2-快速绘制
代码下载 #include "CELLWinApp.hpp"#include <gl/GLU.h>#include <assert.h>#include & ...
- 3月3日(2) Search Insert Position
这题...有点简单吧,为什么只有34%的通过率? 题目意思简单说就是查找index,或者按升序插入的未知,WA一次,罪过,下次要特别注意程序里变量的变化,提交前用样例检查. 简单的我有点不好意思贴代码 ...
- JSONP VS CORS
What is JSONP ? http://stackoverflow.com/questions/2067472/what-is-jsonp-all-about What is CORS? htt ...