L2-030 冰岛人
需要注意的地方:
- 我们只记录维京人的祖先,除了维京人的其他人不能记录它的祖先
#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 冰岛人的更多相关文章
- PTA刷题笔记
PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...
- hdu 1155 Bungee Jumping
http://acm.hdu.edu.cn/showproblem.php?pid=1155 Bungee Jumping Time Limit: 2000/1000 MS (Java/Others) ...
- paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...
- 机器学习中的范数规则化之(一)L0、L1与L2范数(转)
http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...
- L0、L1与L2范数、核范数(转)
L0.L1与L2范数.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大 ...
- 机器学习中的范数规则化之(一)L0、L1与L2范数 非常好,必看
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- 人一生必看的100部电影(全球最佳电影排名榜TOP250)
人一生必看的100部电影(全球最佳电影排名榜TOP250) 人的一生能看多少部电影?假设我们每周都看一部,从10岁看到80岁将会看3640部.但是我们也不可能喜欢这全部的电影.大多数的可能,我们会根据 ...
- 青铜器RDM全面支持CMMI、GJB5000A L2~L5认证评估
青铜器RDM全面实现对CMMI L4.GJB5000A L4的100%支持,并且已经成为众多组织CMMI.GJB5000A落地执行的有效手段,避免认证与执行2张皮,有利于体系的贯彻执行,以下是青铜器R ...
- 正则化方法:L1和L2 regularization、数据集扩增、dropout(转)
ps:转的.当时主要是看到一个问题是L1 L2之间有何区别,当时对l1与l2的概念有些忘了,就百度了一下.看完这篇文章,看到那个对W减小,网络结构变得不那么复杂的解释之后,满脑子的6666------ ...
随机推荐
- eclipse module-info.java文件
module 本模块的名称{ exports 对外暴露的包路径; requires 需要依赖的其他模块名称; } module-info.java不是类,不是接口,是一些模块描述信息.module也不 ...
- 如何创建Windows 10 虚拟机
一 ,新建Windows 10 虚拟机 1.1 创建新的虚拟机 1,点击创建新的虚拟机 2,选择典型,点击下一步 3,选择稍后安装操作系统,点击下一步. 4,操作系统选择windwos,版本选着Win ...
- nflsoj 1351 抓住奶牛
这题类似走迷宫,走迷宫是向四个方向进行拓展,而这道题好比是向三个方向拓展,分别是:\(x+1,x-1,x×2\) 在这里拓展的时候我写了一个函数 operation 来计算拓展后的坐标 这里判断坐标是 ...
- WPF中非递归(无后台代码)动态实现TreeView
在UI界面中,树形视图是比较常用的表示层级结构的方式,WPF中提供了TreeView控件.对于TreeView控件的基本使用已经有很多文章.大都是介绍如何在XAML中使用硬编码的固定信息填充Treev ...
- MIT6.s081/6.828 lectrue07:Page faults 以及 Lab5 心得
本篇博客主要是复习 MIT6.s081/6.828 lectrue07:Page faults 以及记录 Lab5 :COW fork 的心得 值得一提的是,2020 年之前的版本第 5 个 lab ...
- 52条SQL语句,性能优化!
52条SQL语句,性能优化! SQL语句性能优化 1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 where 子句中对 ...
- Jmeter MD5加密及其运用
常用的几种加密方式 内置函数__MD5加密 参数说明: String to calculate MD5 hash(必填):要加密的字符串 Name of variable in which to st ...
- .NET开源最全的第三方登录整合库 - CollectiveOAuth
前言 我相信很多同学都对接过各种各样的第三方平台的登录授权获取用户信息(如:微信登录.支付宝登录.GitHub登录等等).今天给大家推荐一个.NET开源最全的第三方登录整合库:CollectiveOA ...
- .NET应用多语言-葡萄牙语软件,如何处理本地化,特别是数字的转换和计算
在葡萄牙语软件中,数字本地化通常涉及小数点和千位分隔符的使用.在葡萄牙语中,小数点用","表示,而不是英语中使用的".".千位分隔符通常是一个空格或一个点. 例 ...
- Web攻防--Java_SQL注入--XXE注入-- SSTI模板注入--SPEL表达式注入
预编译 编译器在编译sql语句时,会依次进行词法分析.语法分析.语义分析等操作, 预编译技术会让数据库跳过编译阶段,也就无法就进行词法分析,关键字不会被拆开,注入语句也就不会被识别为SQL的关键字,从 ...