★☆   输入文件: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. 【C#】VS2017 winform 打包

    首先要在想要打包的项目下创建一个新的项目, 创建好setup项目,之后点击属性,去修改打包软件的名字,ProductName....可以选填 到此已经创建好了setup工程了,那么下面开始将要打包的d ...

  2. Spring-boot 项目中使用 jackson 遇到的一个问题

    jackson介绍 java代码中实现序列化和反序列化的工具类 jackson使用Demo https://github.com/Naylor55/JavaDebrisCode/tree/branch ...

  3. MySQL中的正则表达式

    正则表达式是用正则表达式语言来建立 基本字符的匹配 .是正则表达式语言中的一个特殊的字符,它表示匹配任意一个字符 在LIKE和REGEXP之间有一个重要的差别,LIKE匹配整个列,如果被匹配的文本仅在 ...

  4. 如何给自己的开源项目选择和添加 License

    License 的作用:开源 == 为所欲为? 开源并不等于为所欲为! 代码的用途,修改之后的代码有什么要求,开源程序对于原作者的权利和责任等等,都是需要明确的. 开源协议 License 就是这么一 ...

  5. uva 1153 顾客是上帝(贪心)

    uva 1153 顾客是上帝(贪心) 有n个工作,已知每个工作需要的时间q[i]和截止时间d[i](必须在此前完成),最多能完成多少个工作?工作只能串行完成,第一项任务开始的时间不早于时刻0. 这道题 ...

  6. 使用combobox下拉列表框实现省 市 县 的三级联动

    package com.hanqi.entity; //地区 public class Region { //地区id private String regionID; //地区名称 private ...

  7. Github搭建个人博客

    Github的搭建博客真的是非常容易,所需的步骤只有三个:要完成自己的github.io博客网站,总共分三步:开通自己的github.io repo,选择一款Jekyll的主题,编写并发布博客.下面将 ...

  8. JOS lab1 part2 分析

    lab1的Exercise 2就是让我们熟悉gdb的si操作,并知道BIOS的几条指令在做什么就够了,所以我们也会尽可能的去分析每一行代码. 首先进入到6.8282/lab这个目录下,输入指令make ...

  9. Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例

    1. map(func) 将func函数作用到数据集的每个元素,生成一个新的分布式的数据集并返回 >>> a = sc.parallelize(('a', 'b', 'c')) &g ...

  10. c/c++ socket发送http请求访问网站

    这几天课比较少,校园网上网要认证才能上网,每次必须输入学号密码,为了方便,写了一个自动登录以及如果在线,登录自服务系统强制下线的小工具. 强制下线思路:获取sessionID----------> ...