#P4140. *【强连通+匹配】稳定婚姻[国家集训队]

*【强连通+匹配】稳定婚姻[国家集训队]

【题意】

已知 nn 对已匹配的公牛母牛夫妻,第 ii 对夫妻中母牛为 GiG_i,公牛为 BiB_i

再给出 mm 对 公牛母牛的潜在匹配关系,第 ii 对潜在匹配关系中母牛为 gig_i,公牛为 bib_i

判断已匹配的 nn 对夫妻婚姻是否安全。 若第 ii 对已匹配的夫妻中,母牛为 GiG_i 不和 公牛为 BiB_i 匹配,而选择和其他公牛匹配还能保证全局有完备匹配,那么就称第 ii 对已匹配的夫妻的婚姻不安全,否则为安全 。

给定所需信息,你的任务是判断每对婚姻是否安全。

【输入格式】

第一行为一个正整数 nn

下来 nn 行,每行包含两个字符串 GiG_iBiB_i

下来一个正整数 mm

下来 mm 行,每行包含两个字符串 gig_ibib_i

【输出格式】

输出文件共包含 nn 行,第 ii 行为 Safe(如果婚姻 ii 是安全的)或 Unsafe(如果婚姻 ii 是不安全的)。

【样例输入1】

2
Melanie Ashley
Scarlett Charles
1
Scarlett Ashley

【样例输出1】

Safe
Safe

【样例输入2】

2
Melanie Ashley
Scarlett Charles
2
Scarlett Ashley
Melanie Charles

【样例输出2】

Unsafe
Unsafe

【提示】

对于 20%20\% 的数据,n20n \le 20

对于 40%40\% 的数据,n100n \le 100m400m \le 400

对于 100%100\% 的数据,所有姓名字符串中只包含英文大小写字母,大小写敏感,长度不大于 88,保证每对关系只在输入文件中出现一次,输入文件的最后 mm 行不会出现未在之前出现过的姓名,这 2n2n 个姓名各不相同,1n40001 \le n \le 40000m200000 \le m \le 20000