#P17053. [SGU257] Debt
[SGU257] Debt
题目描述
Murzov 教授准备离开 Burland,但在离开前,他必须偿还所有债务。他分别欠牧师 Popov、理发师 Parkin 和学生 Studnev 、、 个 burcrystal。
使用水晶还债非常简单:一颗小水晶价值 1 个 burcrystal,一颗大水晶价值 2 个 burcrystal。问题是并不存在判断水晶大小的统一标准,因此三位债权人分别对教授的每一颗水晶进行了评价。同一颗水晶在不同债权人眼中可能具有不同的价值。
教授共有 颗水晶。你需要把每颗水晶恰好分给三位债权人中的一位,使每个人收到的水晶在他自己看来总价值不少于教授欠他的债务。允许多还。
请输出任意一种合法分配方案;如果不存在合法方案,输出 no solution。
输入格式
第一行包含三个整数 ,分别表示教授欠三位债权人的债务。
第二行包含一个整数 ,表示水晶数量。
接下来 行,每行包含一个长度为 3 的字符串。三个字符依次表示 Popov、Parkin、Studnev 对该水晶的评价:
B表示该债权人认为它是大水晶,价值为 2;S表示该债权人认为它是小水晶,价值为 1。
输出格式
若存在合法分配,输出一个长度为 的字符串,不含分隔符。第 个字符表示第 颗水晶的归属:
P:分给 Popov;O:分给 Parkin;S:分给 Studnev。
若不存在合法分配,输出:
no solution
数据范围
- ;
- 。
样例
输入
3 2 4
6
BBS
SSB
BBB
BBS
SSS
BBS
输出
OSPPSS
样例说明
Popov 收到的水晶总价值为 4,Parkin 收到的水晶总价值为 2,Studnev 收到的水晶总价值为 4。
限制
- 时间限制:0.25 秒;
- 空间限制:65536 KB。