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 榜单(模拟题)的更多相关文章

  1. CSU1312:榜单(模拟)

    Description ZZY很喜欢流行音乐,每周都要跟踪世界各地各种榜单,例如Oricon和Billboard,现在给出每周各个单曲的销量请给出每周的TOP5以及TOP5中各个单曲的浮动情况. 量的 ...

  2. 2016年Q2《网络安全创新500强》榜单解读

    近日,美国投资咨询机构Cybersecurity Ventures发布了2016 Q2<网络安全创新500强>企业榜单,新兴安全公司root9B异军突起,国内4家企业上榜. 关于Cyber ...

  3. 【图文详解】scrapy安装与真的快速上手——爬取豆瓣9分榜单

    写在开头 现在scrapy的安装教程都明显过时了,随便一搜都是要你安装一大堆的依赖,什么装python(如果别人连python都没装,为什么要学scrapy….)wisted, zope interf ...

  4. ZOJ1111:Poker Hands(模拟题)

    A poker deck contains 52 cards - each card has a suit which is one of clubs, diamonds, hearts, or sp ...

  5. 2019浙大校赛--A--Thanks, TuSimple!(简单模拟题)

    这题前三段都是一堆吹爆赞助商的屁话,正式题目在图片下边,一个简单模拟题. 题目大意: 有n个男生,m个女生在进行舞会,其中一部分男生祥和比自己矮的女生跳舞,一部分男生想和比自己高的女生跳舞,一部分女生 ...

  6. 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 ...

  7. CSU 1378 Shipura 简单模拟

    上周末中南的题,当时就知道是个简单模拟题,可是一个多小时就是没写出来,代码能力啊 >.< 题意: 某人发明了一种程序语言,只支持一种运算">>",和一种函数 ...

  8. 最新榜单!消金企业TOP10,数据、风控、催收服务方TOP5

    最新榜单!消金企业TOP10,数据.风控.催收服务方TOP5 布谷TIME2016-12-15 17:47:59消费 风控阅读(164)评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账 ...

  9. 年度榜单:2013年最佳免费 PSD 设计素材揭晓

    <年度榜单>系列继续给大家带来2013年度发布的好东西,这篇文章要给大家分享的是本年度最佳的12套精美的 PSD 设计素材,你可以免费下载使用.这些免费素材不仅能帮助他们节省大量的时间,而 ...

随机推荐

  1. 设计模式——java

    设计模式:一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把 ...

  2. SharePoint 2010 获取列表全部定义方法

    http://spf06/_vti_bin/owssvr.dll?Cmd=ExportList&List=%7B220128F0-6084-45B3-9942-C29B3AF6663C%7D ...

  3. Spring(3.2.3) - Beans(8): 基于 Annotation 的配置

    除了基于 XML 的配置外,Spring 也支持基于 Annotation 的配置.Spring 提供以下介个 Annotation 来标注 Spring Bean: @Component:标注一个普 ...

  4. Git CMD - fetch: Download objects and refs from another repository

    命令格式 git fetch [<options>] [<repository> [<refspec>…​]] git fetch [<options> ...

  5. [盈利指导] [原创]五蕴皆空:App推广干货,排名数据分析优化效果

          App盈利交流论坛版主第一帖2015年3月份,在百度上了一款赛车类游戏(不说什么名字了怕被打包),后台起名叫002,刚开始上的时候一天只有几元钱,但是游戏还是倾注了不少心血的,觉得不甘心, ...

  6. response小结(五)—通过response实现请求重定向

    请求重定向指的是一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向.302状态码和location头即可实现重定向. 请求重定向最常见的应用场景就是用户登录. 下面 ...

  7. Android第三方授权(QQ篇)

    QQ授权比微信授权相对来说会方便一些 同样需要去官网下载sdk和导入sdk到自己的工程 http://wiki.connect.qq.com/%E7%A7%BB%E5%8A%A8%E5%BA%94%E ...

  8. Ajax-Demo

    index.jsp 1 <%@ page language="java" contentType="text/html; charset=UTF-8" p ...

  9. setTimeout用法

    function faceSave() {                                    if(confirm("确定保存?"))              ...

  10. <转载>提升程序的特权(AdjustTokenPrivileges)

    首先列出需要的函数 1.OpenProcessToken 2.AdjustTokenPrivileges 3. LookupPrivilegeValue ----------------------- ...