思路:

题目要求找到一个可能的答案,因此需要对每一位进行判断,有三种情况:

  • 该位必须为 Y,因为有至少 k1 个人全对了;
  • 该位必须为 N,因为有至少 k2 个人全错了;
  • 该位可以为 Y 或者 N。

对于前两种情况,只需要统计每一位 Y 和 N 的个数,如果满足条件则直接赋值;对于第三种情况,可以任意选择 Y 或者 N。

需要注意的是,不能出现既是 Y 又是 N 的情况,因此需要首先检查是否有解。

代码实现:

对于每一个字符,统计 Y 和 N 的个数,根据题目条件进行判断。如果出现矛盾,则输出 -1。

否则,根据情况将其赋值为 Y 或者 N,最后输出答案即可。

C++ 代码


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

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