呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入第一行给出一个正整数N(2 ≤ N ≤10^4),随后N行,每行按以下格式给出一个人的信息: 本人ID 性别 父亲ID 母亲ID 其中ID是5位数字,每人不同:性别M代表男性.F代表女性.如果某人的父亲或母亲已经不可考,则相应的ID位置上标记为-1. 接下来给出一个正整数K,随后K行,每行给出一对有…
呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入第一行给出一个正整数N(2 <= N <= 104),随后N行,每行按以下格式给出一个人的信息: 本人ID 性别 父亲ID 母亲ID 其中ID是5位数字,每人不同:性别M代表男性.F代表女性.如果某人的父亲或母亲已经不可考,则相应的ID位置上标记为-1. 接下来给出一个正整数K,随后K行,每行给出…
L2-016. 愿天下有情人都是失散多年的兄妹 参考博客 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int flag; struct node { int dad,mom,sex,bh; node():dad(),mom(),sex(),bh(-){} }peo[]; void mark(int x,int p,…
L2-016 愿天下有情人都是失散多年的兄妹 (25 分)   呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入第一行给出一个正整数N(2 ≤ N ≤),随后N行,每行按以下格式给出一个人的信息: 本人ID 性别 父亲ID 母亲ID 其中ID是5位数字,每人不同:性别M代表男性.F代表女性.如果某人的父亲或母亲已经不可考,则相应的ID位置上标记为…
L2-016. 愿天下有情人都是失散多年的兄妹 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入第一行给出一个正整数N(2 <= N <= 104),随后N行,每行按以下格式给出一个人的信息: 本人ID 性别 父亲ID 母亲I…
L2-016. 愿天下有情人都是失散多年的兄妹 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入第一行给出一个正整数N(2 <= N <= 104),随后N行,每行按以下格式给出一个人的信息: 本人ID 性别 父亲ID 母亲I…
呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入第一行给出一个正整数N(2 <= N <= 10^4^),随后N行,每行按以下格式给出一个人的信息: 本人ID 性别 父亲ID 母亲ID 其中ID是5位数字,每人不同:性别M代表男性.F代表女性.如果某人的父亲或母亲已经不可考,则相应的ID位置上标记为-1. 接下来给出一个正整数K,随后K行,每行…
题目链接:https://www.patest.cn/contests/gplt/L2-016 呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入第一行给出一个正整数N(2 <= N <= 104),随后N行,每行按以下格式给出一个人的信息: 本人ID 性别 父亲ID 母亲ID 其中ID是5位数字,每人不同:性别M代表男性.F代表女性.如果某人的…
同时也要记录父母的性别,输出询问时要用到 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <math.h> #define maxn 100000+1 ]; ][]; char sex[maxn]; long a,b; bool v; bool pan() { long i,j; ;i<=f[][];i++) ;…
题目链接 https://www.patest.cn/contests/gplt/L2-016 思路 用BFS 每层 遍历当代 并且查找当代是否有重复 有重复就跳出 然后 POP 并且将他们的下一代 压入 队列 但是有一个点 要注意 就是 如果存在两个人 他们的上一代 都不可考 那么就默认没有血缘关系 那么就要根据 性别来判断 如果 这两个人 是出现在 某个人的父亲 或 母亲中呢 所以在输入的时候 对于父亲和母亲的性别是没有标记的 那么就会出错 所以要加入 父亲和母亲的性别标记 其实还有种简单的…