★☆   输入文件:sakinani.in   输出文件:sakinani.out   简单对比
时间限制:1 s   内存限制:256 MB

题目背景

二十一世纪,世界上的麻将竞技人数超过一亿,日本每年也有大规模的全国大赛来对麻将选手进行选拔。从小学到高中,很多学校也设立了麻将部。

《天才麻将少女阿知贺篇 episode of side-A》『 -Saki- 阿知賀編 episode of side-A』是《天才麻将少女》『 -Saki-』的外传,从另一个视角讲述麻将少女们的故事。故事背景设定在《天才麻将少女》本篇第二主角原村和曾生活的奈良县,主角校为阿知贺女子学院。(有问题?内事百度,外事谷歌)

由于阿知贺人物存在感不够强,导致该作被称为“千里山篇”「 -Toki- 千里山編」,甚至 2012 年动画最萌也是千里山的園城寺怜同学。我们一直很疑惑这到底谁是主角,那么就让数据说话吧!

题目要求

我们给出一个人物列表,人物有其所属的学校。比如「松実玄」同学隶属「阿知賀女子学院」什么的。有的人物没有所属学校或没有明确给出其所属,可以无视。

人物每一次出场都会给其学校增加一点存在感。有少数“被牌爱着的孩子”,即“魔物”会有非常高的存在感,出场一次会有普通人出场两次的存在感。

我们需要统计,在给出的人物出场单中,哪个学校存在感最高,我们就把这篇动画命名为什么编。

输入格式

  • 输入文件第一行为一个整数 n ,表示有多少人物出现。下面 n 行是人物列表,每两行有两个字符串 A 和 B ,表示人物 A 属于学校 B 。没有同名人物,不会重复出现人物。
  • 下面一行一个整数 k ,表示魔物的数量。接下来 k 行,每行一个字符串,表示魔物的姓名,不保证魔物在人物列表中。
  • 接下来直到文件末尾,每行有一个字符串(空行不算),表示出场人物,可能会出现不存在于上面列表中的人物。

样例输入

7
宮永咲 清澄高校
原村和 清澄高校
片岡優希 清澄高校
園城寺怜 千里山女子高校
竹井久 清澄高校
天江衣 龍門渕高校
龍門渕透華 龍門渕高校
2
宮永咲
天江衣 原村和
高鴨穏乃
原村和
片岡優希
原村和
宮永咲

输出格式

  • 输出只有一行,即存在感最大的学校名称,并列第一则输出编码序小的一个。

样例输出

清澄高校

数据范围及要求

  • 对于 70% 的数据,总出现次数不超过 10000。
  • 对于 100% 的数据,学校数量不超过 40 ,人物数量不超过 200 ,总出现次数不超过 1000000。
  • 对于 40% 的数据,字符串中只有大写和小写字母。
  • 对于 100% 的数据,字符串中会存在大小写字母、汉字和日语假名,且长度不超过 100 。为了简化问题,输入输出文件都使用 ANSI 编码(一个东亚字符占两字节)。

模拟

屠龙宝刀点击就送

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <string>
#define N 1000005
using namespace std;
struct node
{
string name,sch;
bool flag;
}stu[N];
struct nodE
{
string sch;
int sum;
bool operator<(nodE a)const
{
if(sum==a.sum) return sch<a.sch;
else return sum>a.sum;
}
}sv[N];
bool sq[N];
int n,m,num;
int Main()
{
freopen("sakinani.in","r",stdin);
freopen("sakinani.out","w",stdout);
scanf("%d",&n);
string a,b;
for(int i=;i<=n;++i)
{
cin>>stu[i].name>>stu[i].sch;
for(int j=;j<=num;++j)
{
if(sv[j].sch==stu[i].sch)
goto flag;
}
sv[++num].sch=stu[i].sch;
flag:;
}
scanf("%d",&m);
for(;m--;)
{
cin>>a;
for(int i=;i<=n;++i)
if(stu[i].name==a) stu[i].flag=true;
}
while(cin>>a)
{
b.clear();
int sum=;
for(int i=;i<=n;++i)
if(stu[i].name==a)
{
b=stu[i].sch;
if(stu[i].flag) sum=;
else sum=;
break;
}
if(!b.size()) continue;
for(int i=;i<=num;++i)
if(sv[i].sch==b) sv[i].sum+=sum;
}
sort(sv+,sv++num);
cout<<sv[].sch;
return ;
}
int sb=Main();
int main(int argc,char *argv[]) {;}

COGS 898. [咲 -Saki-] 天才麻将少女什么编的更多相关文章

  1. [补档]从OI学麻将

    背景 作为一名川娃子,怎么能不懂麻将呢= = T1 さきなに~~ [咲 -Saki-] 天才麻将少女什么编 题目 二十一世纪,世界上的麻将竞技人数超过一亿,日本每年也有大规模的全国大赛来对麻将选手进行 ...

  2. Wiki动画回顾系列序&&目录

    嘛,前前后后看了太多动画,我自己一直想做的事也是喜欢能做一款acg相关的应用,但一直没有好的点子,当然纠结到最后还是需要一个比较好的社区来让大家加入进来.一直有人让我给他们推番,而我也慢慢懂得“人心” ...

  3. 转:Unicode汉字编码表

    转自:http://blog.csdn.net/huangxy10/article/details/10012119 Unicode汉字编码表 1 Unicode编码表  Unicode只有一个字符集 ...

  4. Unicode汉字编码表

    U+  0   1  2  3  4   5  6   7   8   9   A  B  C  D  E  F  ------------------------------------------ ...

  5. [转载]GBK 汉字内码扩展规范编码表(1.0 版)

    编码表源地址:http://ff.163.com/newflyff/gbk-list/ 编码在线查询:http://www.qqxiuzi.cn/bianma/zifuji.php GBK 汉字内码扩 ...

  6. 由Unicode编码想到弄懂编码表

    test unicode好 007400650073007400200075006E00690063006F00640065597D 这是一个Unicode编码,一共六七万的汉字,可以说Unicode ...

  7. unicode 汉字编码表

    啊:21834 阿:38463 埃:22467 挨:25384 哎:21710 唉:21769 哀:21696 皑:30353 癌:30284 蔼:34108矮:30702 艾:33406 碍:308 ...

  8. GB2312 简体中文编码表

    GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号.这种表示方式也称为区位码. 01-09区为特殊符号. 16-55区为一级汉字,按拼音排序. 56-87区为二级汉字,按部首/笔画 ...

  9. ASP.NET开发,且编且改,分清职责

    本篇Insus.NET使用一个实例,分享在ASP.NET开发时,一个功能一个方法(函数),且编且改,一步一个脚印把实例完成.在方法多变多形式的情况之下,怎样把写出来程序简单明了. 下面是一个Excel ...

随机推荐

  1. 20169219linux 内核原理与分析第四周作业

    系统调用 系统调用是用户空间访问内核的唯一手段:除异常和陷入外,它们是内核唯一的合法入口. 一般情况下,应用程序通过在用户空间实现的应用编程接口(API)而不是直接通过系统调用来编程. 要访问系统调用 ...

  2. docker17.09.1-ce 执行systemctl resart docker重启失败的问题

    记录在实际操作中碰到的docker问题 环境信息: 安装完kolla ocata版本,并且编译成功各openstack 组件的容器镜像 [root@localhost ~]# docker --ver ...

  3. BZOJ 3211【线段树】

    题意: n个数,m个操作. 1,L,R  询问[L , R] 的总和. 2,L,R  将区间所有数都开根号. 思路: 区间和简单. 主要就是一个 区间所有元素相同的标记Same ,但是这样是不是要求太 ...

  4. heap 堆

    实现了交换.向上维护,向下维护的原子功能,其它插入.删除.修改的功能应该不在话下. 于是有了代码:(luogu3378模板题) // luogu-judger-enable-o2 #include & ...

  5. JavaWeb:Servlet技术

    JavaWeb:Servlet技术 快速开始 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 ...

  6. PAT天梯赛L2-008 最长对称字符串

    题目链接:点击打开链接 对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&a ...

  7. 2017ACM/ICPC广西邀请赛

    A.A Math Problem #include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll ...

  8. React方法论

    按照目前学习进度不定更新 react渲染的效率,看起来是全体的渲染,其实react在虚拟dom上的处理简直完美.它会过滤掉那些原来就有的东西,不去全体地重复渲染一遍. 即将进入实战,React至今的个 ...

  9. HQL和SQL

    hql是面向对象查询,格式:from + 类名 + 类对象 + where + 对象的属性 sql是面向数据库表查询,格式:from + 表名 + where + 表中字段 1.查询 一般在hiber ...

  10. 练习十八:求这样的一组数据和,s=a+aa+aaa+aaaa+aa...a,其中a为一个数字

    例如:2+22+222+2222+22222(此时共有5个数字相加),这里具体几个数字由键盘控制 方法一:普通做法 a = int(input("计算要加的数(1-9之间数):") ...