需要注意的地方:

  1. 我们只记录维京人的祖先,除了维京人的其他人不能记录它的祖先
#include <bits/stdc++.h>

using namespace std;

struct people {
string name, familyname;
char gender;
};
map<string, string> fa;
map<string, bool> sex; //1表示男性 0表示女性s people tran(string name, string familyname) {
string s = familyname;
int len = familyname.length();
if (len >= 7) {
if (s.substr(len - 7) == "sdottir") return { name, s.substr(0, len - 7), 'f' };
else if (s.substr(len - 4) == "sson") return { name, s.substr(0, len - 4), 'm' };
}
else if (len >= 4) {
if (s.substr(len - 4) == "sson") return { name, s.substr(0, len - 4), 'm' };
}
return { name, s.substr(0, len - 1), s.back() };
} bool check(string name1, string name2) {
map<string, int> gener;
for (int i = 1; name1 != ""; i++) {
gener[name1] = i;
name1 = fa[name1];
}
for (int i = 1; name2 != ""; i++) {
if (gener.count(name2)) {
if (gener[name2] >= 5 && i >= 5) return true;
return 0;
}
name2 = fa[name2];
} return true;
} int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
string name, familyname;
cin >> name >> familyname;
auto aft = tran(name, familyname);
sex[aft.name] = (aft.gender == 'm' ? 1 : 0);
if (familyname.back() != 'm' && familyname.back() != 'f')
fa[aft.name] = aft.familyname;
}
int m;
cin >> m;
for (int i = 1; i <= m; i++) {
string n1, f1, n2, f2;
cin >> n1 >> f1 >> n2 >> f2;
if (!sex.count(n1) || !sex.count(n2)) cout << "NA" << "\n";
else if (sex[n1] == sex[n2]) cout << "Whatever" << "\n";
else {
if (check(n1, n2)) {
cout << "Yes" << "\n";
} else {
cout << "No" << "\n";
}
}
} return 0;
} // 14
// chris smithm
// adam smithm
// bob adamsson
// bill chrissson
// mike jacksson
// steve billsson
// tim mikesson
// april mikesdottir
// eric stevesson
// tracy timsdottir
// james ericsson
// patrick jacksson
// robin patricksson
// will robinsson

L2-030 冰岛人的更多相关文章

  1. PTA刷题笔记

    PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...

  2. hdu 1155 Bungee Jumping

    http://acm.hdu.edu.cn/showproblem.php?pid=1155 Bungee Jumping Time Limit: 2000/1000 MS (Java/Others) ...

  3. paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  4. 正则化方法:L1和L2 regularization、数据集扩增、dropout

    正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...

  5. 机器学习中的范数规则化之(一)L0、L1与L2范数(转)

    http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...

  6. L0、L1与L2范数、核范数(转)

    L0.L1与L2范数.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大 ...

  7. 机器学习中的范数规则化之(一)L0、L1与L2范数 非常好,必看

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  8. 人一生必看的100部电影(全球最佳电影排名榜TOP250)

    人一生必看的100部电影(全球最佳电影排名榜TOP250) 人的一生能看多少部电影?假设我们每周都看一部,从10岁看到80岁将会看3640部.但是我们也不可能喜欢这全部的电影.大多数的可能,我们会根据 ...

  9. 青铜器RDM全面支持CMMI、GJB5000A L2~L5认证评估

    青铜器RDM全面实现对CMMI L4.GJB5000A L4的100%支持,并且已经成为众多组织CMMI.GJB5000A落地执行的有效手段,避免认证与执行2张皮,有利于体系的贯彻执行,以下是青铜器R ...

  10. 正则化方法:L1和L2 regularization、数据集扩增、dropout(转)

    ps:转的.当时主要是看到一个问题是L1 L2之间有何区别,当时对l1与l2的概念有些忘了,就百度了一下.看完这篇文章,看到那个对W减小,网络结构变得不那么复杂的解释之后,满脑子的6666------ ...

随机推荐

  1. [jenkins]简介与安装

    前言 jenkins是一种代码构建平台,一般用于CI/CD中的CI部分,当然也可以集成CD功能. 安装 环境 IP:192.168.0.10 系统:centos 7 快速安装步骤 官网下载jenkin ...

  2. [golang]使用gopsutil获取系统信息

    前言 在python中有个psutil库用于获取系统信息,而go语言也有一个类似的库--gopsutil,功能差不多. 项目地址:https://github.com/shirou/gopsutil ...

  3. Python实现输入三个整数x,y,z,请把这三个数由小到大输出;

    num1=input('请输入第一个数,x:') num2=input('请输入第二个数,y:') num3=input('请输入第三个数,z:') if num1>num2: # if 语句判 ...

  4. Flutter系列文章-Flutter 插件开发

    在本篇文章中,我们将学习如何开发 Flutter 插件,实现 Flutter 与原生平台的交互.我们将详细介绍插件的开发过程,包括如何创建插件项目.实现方法通信.处理异步任务等.最后,我们还将演示如何 ...

  5. 在.NET Framework中使用RocketMQ(阿里云版)实战【第二章】

    章节 第一章:https://www.cnblogs.com/kimiliucn/p/17662052.html 第二章:https://www.cnblogs.com/kimiliucn/p/176 ...

  6. QA|新版Pycharm如何关闭和开启自动补全功能?|Pycharm|工具相关

    自动补全开启状态: 自动补全关闭状态: 建议:新学者建议开启自动补全,这样可以把各个函数方法记忆的更加深刻!

  7. Mybatis自动生成mapper和实体类

    准备工作:需要俩个jar包: (1)连接数据库的jar包:mysql-connector-java-5.1.16-bin.jar (2)实现需求的插件Generator:mybatis-generat ...

  8. Python爬虫——爬虫时如何知道是否代理ip伪装成功?

    在进行爬虫时,我们可能需要使用代理IP来伪装自己的身份,以避免被网站封禁.如何判断代理IP是否伪装成功呢?本篇文章将围绕这个问题展开讲解,同时提供Python代码示例. 1. 确认代理IP地址 首先, ...

  9. HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒

    本文转载自支付宝体验科技,作者是蚂蚁集团客户端工程师博欢,介绍了支付宝如何基于 HarmonyOS 4.0 实况窗实现医疗场景履约智能提醒. 1.话题背景 8 月 4 日,华为在 HDC(华为 202 ...

  10. Springboot项目使用Undertow替换内置Tomcat服务器,实现RESTFUL接口web应用

    Maven实例:pom.xml文件中添加更换依赖 <dependency> <groupId>org.springframework.boot</groupId> ...