该程序实现了一个用于查询冰岛人祖宗若干代有无联系的功能。程序中使用了一些数据结构和算法来实现这个功能。

  1. 数据结构:
  • vector f(N,-1): 用于存储每个人的父亲的编号。初始值为-1,表示没有父亲。
  • vector g[N]: 用于存储每个人的名字和姓氏。g[i]表示第i个人的名字和姓氏。
  • bool sex[N]: 用于存储每个人的性别,true表示男性,false表示女性。
  • map<string,int> m: 用于存储每个人的名字和对应的编号。m[name]表示名字为name的人的编号。
  1. 算法:
  • 输入人数和每个人的信息。
  • 对于每个人的信息,根据姓氏的后缀判断性别,并将名字和编号存入map中。如果姓氏不是以'r'或'n'结尾,则表示这个人是祖宗,不需要记录父亲的编号。
  • 根据每个人的信息,将父亲的编号存入f中。
  • 输入查询数量和每个查询的信息。
  • 对于每个查询,判断两个人的性别是否相同。如果相同,则输出"Whatever"。如果不同,则判断两个人的祖宗是否有联系,即判断是否存在共同的祖先超过4代。如果有联系,则输出"Yes",否则输出"No"。

该程序没有涉及文件操作或数据库操作


原文地址: http://www.cveoy.top/t/topic/iRZR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录