描述

hzy很喜欢了解歌曲的排行榜,他每次都从XX网站获知。

由于这个网站想对这个歌曲的排行榜含蓄的告诉大家,组织了一个“猜榜大赛”。

这个网站宣布一些歌曲的信息,那些歌曲在歌曲榜上的前几名

例如:

·"qianlizhiwai" 是在榜上的前三名

·"qianlizhiwai","dachengxiaoai" 是在歌曲榜的前两名

网站不会把歌曲的名次十分明确的告诉你,他就是想让你通过这些信息,推出一部分歌曲的名次,现在困惑的hzy找您帮忙,想让您推出所有确定名次的歌曲。

输入

第一行包括一个整数n, 1≤n≤500,表示网站给你的信息的条数。

下面n行包括一条信息,形式为"A and B song1 song2 song3 ... songA",1≤A≤B≤100,表示"song1","song2",...,"songA"是在歌曲榜的前B位。

每一首歌都是一个string,由最多25个小写字母组成。

输出

输出可以知道的所有的歌的排名,形式:"Position Song"位置必须有序。

输入样例 1

2
1 and 3 lonely
2 and 2 trebami jasekonja

输出样例 1

3 lonely

输入样例 2

3
2 and 2 pjesma1 pjesma2
3 and 4 pjesma1 pjesma3 pjesma4
1 and 3 pjesma4

输出样例 2

3 pjesma4
4 pjesma3 没有思路的题 参考了队里大佬的做法: 先用map取每个人最靠前的名次(显然 如果某个人被限定到更前面的名次 那么其后面的名次没有意义)
然后 遍历map 将名次相同的push进一个vector
mp里的first为【】里的 second为右边的 最后从一 开始遍历所有名次
如果当前上榜歌曲总数等于排名且当前排名的歌曲唯一 那么它的排名就可以确定!
#include<bits/stdc++.h>
using namespace std;
//input
#define rep(i,x,y) for(int i=(x);i<=(y);++i)
#define RI(n) scanf("%d",&(n))
#define RII(n,m) scanf("%d%d",&n,&m);
#define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define RS(s) scanf("%s",s)
#define LL long long
#define REP(i,N) for(int i=0;i<(N);i++)
#define CLR(A,v) memset(A,v,sizeof A)
//////////////////////////////////
#define N 2050
#define inf -0x3f3f3f3f
map<string,int>mp;vector<string>v[];
int n,tot;
int main()
{
RI(n);
rep(i,,n)
{
int a,b;string str;
RI(a);
cin>>str;
RI(b);
while(a--)
{
cin>>str;
if(!mp.count(str))mp[str]=b;
else mp[str]=min(mp[str],b );
}
}
map<string,int>::iterator it;
for(it=mp.begin();it!=mp.end();it++)
v[it->second].push_back(it->first); tot=;
rep(i,,)
{
tot+=v[i].size();
if(v[i].size()==&&tot==i)
cout<<i<<" "<<v[i][]<<endl;
}
}

【noip模拟赛3】确定的位置 (map的遍历 位置原理)的更多相关文章

  1. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  2. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  3. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  4. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  5. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  6. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

  7. CH Round #58 - OrzCC杯noip模拟赛day2

    A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...

  8. CH Round #48 - Streaming #3 (NOIP模拟赛Day1)

    A.数三角形 题目:http://www.contesthunter.org/contest/CH%20Round%20%2348%20-%20Streaming%20%233%20(NOIP模拟赛D ...

  9. CH Round #55 - Streaming #6 (NOIP模拟赛day2)

    A.九九归一 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2355%20-%20Streaming%20%236%20(NOIP模拟赛day2)/九九归一 题 ...

  10. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)

    A.珠 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20(NOIP模拟赛Day1)/珠 题解:sb题, ...

随机推荐

  1. 【题解】 P1879 玉米田Corn Fields (动态规划,状态压缩)

    题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ...

  2. BZOJ 2668 [cqoi2012]交换棋子 | 最小费用最大流

    传送门 BZOJ 2668 题解 同时分别限制流入和流出次数,所以把一个点拆成三个:入点in(x).中间点mi(x).出点ou(x). 如果一个格子x在初始状态是黑点,则连(S, mi(x), 1, ...

  3. ssh框架配置过程

    1.pom.xml配置依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...

  4. 解题:CF1063F String Journey

    题面 分析性质以进行DP 性质1:一定有一个最优解通过每次删除第一个或最后一个字符达到 这个脑补一下就能证明了 那么我们设$dp[i]$表示后缀$[i,n]$选出一个前缀所能达到的最大长度,从右往左D ...

  5. LOJ#2540 随机算法

    题意:给定图,随机一个排列,依次加点,如果加点之后不是独立集就不加.求最后得到一个最大独立集的概率. 解:就是求有多少个排列可以加出最大独立集. 显然有一个3n的状压DP,0表示没加,1表示没加上,2 ...

  6. js验证4位数字

    var reg = /^\d{4}$/; var str = "0001"; reg.test(str);

  7. OpenStack中RabbitMQ高可用性配置

    采用镜像队列的方案进行配置 1. 网络拓扑 node1:10.10.11.1 node2:10.10.11.2 2. 配置hosts node1+node2: vim /etc/hosts >1 ...

  8. python循环删除列表元素常见错误与正确方法

    python循环删除列表元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 常见错误 常见错误一:使用固定长度循环删除列表元素 # 使用固定长度循环pop方法删除列表元素 num_list_ ...

  9. 用yaml来编写配置文件

    yaml是一个数据序列化的标准,适用于所有开发语言,最大的特点是可读性好. yaml的一个主要应用方向就是编写配置文件,有非常多的系统和框架采用yaml进行配置. yaml有以下基本规则: 1.大小写 ...

  10. cin,cout,printf,scanf效率对比

    From:http://www.cnblogs.com/killerlegend/p/3918452.html Author:KillerLegend Date:2014.8.17 杭电OJ之3233 ...