CF929B.Места в самолёте
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
飞机上有 n 排座位。从上方看,每排座位分布为:左侧有 3 个座位,然后是过道,然后是中间 4 个座位,再是另一个过道,最后是右侧 3 个座位。
已知部分座位已被乘客占用。乘客分为两类:常旅客(即经常乘坐飞机的乘客)和普通乘客。
你的任务是安排剩余的 k 名普通乘客,使得所有常旅客的邻居总数尽可能少。若两名乘客在同一排且中间没有其他座位或过道,则他们互为邻居。如果一名乘客同时是两名常旅客的邻居,则在总邻居数中应计两次。
输入格式
第一行包含两个整数 n 和 k(1≤n≤100,1≤k≤10⋅n),分别表示飞机的排数和需要安排的普通乘客人数。
接下来 n 行,每行描述一排座位。如果某个字符为 '-',表示过道;为 '.',表示空座;为 'S',表示该座位已被常旅客占用;为 'P',表示该座位已被普通乘客占用。
保证空座数量不少于 k。保证所有排的格式均符合题目描述。
输出格式
第一行输出常旅客的邻居总数的最小值。
接下来输出一种使常旅客邻居总数最小的乘客安排方案,格式与输入相同。如果在空座上安排了一名普通乘客,则将该位置的 '.' 替换为小写字母 'x'。
输入输出样例
输入#1
1 2 SP.-SS.S-S.S
输出#1
5 SPx-SSxS-S.S
输入#2
4 9 PP.-PPPS-S.S PSP-PPSP-.S. .S.-S..P-SS. P.S-P.PP-PSP
输出#2
15 PPx-PPPS-S.S PSP-PPSP-xSx xSx-SxxP-SSx P.S-PxPP-PSP
说明/提示
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?