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 设计素材,你可以免费下载使用.这些免费素材不仅能帮助他们节省大量的时间,而 ...
随机推荐
- poj 3544 Journey with Pigs
Journey with Pigs Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3004 Accepted: 922 ...
- JAVA网络编程常见问题
一. 网络程序运行过程中的常见异常及处理 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ...
- Ajax发送FormData对象封装的表单数据
前端页面: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...
- Lombok(1.14.8) - @Log
@Log @Logs,生成一个日志对象. package com.huey.lombok; import lombok.extern.java.Log; @Log public class LogEx ...
- (译)如何在ASP.NET中安全使用ViewState
原文:http://www.codeproject.com/Articles/150688/How-to-make-ViewState-secure-in-ASP-NET 介绍 ASP.NET中的Vi ...
- .NET 的webservice例子
因为项目的需要,可能会经常性的需要调用接口,或者写一些接口.现在提供一些简单的例子给大家参考 写接口: [WebServiceBinding(ConformsTo = WsiProfiles.Basi ...
- TFS2012常见问题及解答
1.删除workItem工作项(包括Bug,用户场景,任务等) 需要利用到witadmin工具,目录在cd %programfiles%\Microsoft Visual Studio 11.0\Co ...
- Cocos2d-x如何控制动作速度
基本动作和组合动作实现了针对精灵的各种运动和动画效果的改变.但这样的改变速度匀速的.线性的.通过ActionEase及其的派生类和Speed 类我们可以使精灵以非匀速或非线性速度运动,这样看起了效果更 ...
- OC4_实例变量的作用域
// // Dog.h // OC4_实例变量的作用域 // // Created by zhangxueming on 15/6/16. // Copyright (c) 2015年 zhangxu ...
- (转)Redis 集群方案
根据一些测试整理出来的一份方案: 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡 Redi ...