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------ ...
随机推荐
- Bootstrap使用方法
中文文档:https://www.bootcss.com/ 使用方式: 1.选择对应的文档: 2.网站会自动跳转,一般选择Bootstrap3中文文档: 3.点击入门,下拉找到基础模板,复制代码到 ...
- 用 Tensorflow.js 做了一个动漫分类的功能(二)
前言: 前面已经通过采集拿到了图片,并且也手动对图片做了标注.接下来就要通过 Tensorflow.js 基于 mobileNet 训练模型,最后就可以实现在采集中对图片进行自动分类了. 这种功能在应 ...
- DXP TreeList 目录树
DXP TreeList 目录树 1.需求背景 需要一个支持勾选,拖动节点,保存各节点顺序的目录树. 2.创建目录树 在treeList控件中添加两个colunm 用来显示绑定数据和显示值. 接下来对 ...
- [mysql]安全加固
前言 因等保安全的要求,需要对MySQL用户密码和登录策略进行安全加固,以满足以下需求: 密码至少8位,包含大小写字母.数字和特殊字符. 当密码登录失败一定次数后锁定账户. 密码90天过期 本文使用的 ...
- SpringBoot3集成Quartz
目录 一.简介 二.工程搭建 1.工程结构 2.依赖管理 3.数据库 4.配置文件 三.Quartz用法 1.初始化加载 2.新增任务 3.更新任务 4.暂停任务 5.恢复任务 6.执行一次 7.删除 ...
- 10、Spring之AOP概述
10.1.概念 AOP(Aspect Oriented Programming)是一种设计思想,是软件设计领域中的面向切面编程 AOP是面向对象编程(OOP)的一种补充和完善,OOP是纵向继承机制,A ...
- 使用Java Xpath 爬取某易云歌曲
本文使用Java xpath 爬取某易云歌曲,并下载至本地. 代码仅用于个人学习使用,欢迎各位大佬提出建议. 1.添加依赖 <dependency> <groupId>cn.w ...
- 基于 JMeter API 开发性能测试平台
背景: JMeter 是一个功能强大的性能测试工具,若开发一个性能测试平台,用它作为底层执行引擎在合适不过.如要使用其API,就不得不对JMeter 整个执行流程,常见的类有清楚的了解. 常用的 JM ...
- 关闭k8s的pod时减小对服务的影响
在应用程序的整个生命周期中,正在运行的 pod 会由于多种原因而终止.在某些情况下,Kubernetes 会因用户输入(例如更新或删除 Deployment 时)而终止 pod.在其他情况下,Kube ...
- 利用python将数据写入CSV文件中
利用python将数据写入CSV文件中 全部代码如下: import csv # 1.创建文件对象 f = open('cav_file.csv', 'w', encoding='utf-8', ne ...