#jfilm. 2026暑假CSP-J模拟赛01-T1 程老师的胶片暗房
2026暑假CSP-J模拟赛01-T1 程老师的胶片暗房
时间限制:1000ms 内存限制:512MB
题目描述
程老师的实验室角落里有一间小小的暗房。暗房的工作台上放着一叠透明胶片,每张胶片上都印着若干个彩色标记点。程老师经常用这些胶片来做光学实验——把胶片叠放在灯箱上,观察光线透过标记点后在墙上投射出的图案。
为了得到不同的投影效果,程老师发明了三种"翻片手法"。每次翻动,工作台上所有胶片会同时受到影响,就像一整叠胶片被一起翻转一样。
第一种手法:左右翻面(记作 X)
想象你站在工作台的正前方,用手捏住胶片的左边缘和右边缘,然后像翻书一样把胶片左右对调。翻完之后,原来在右边的标记点跑到了左边,原来在左边的跑到了右边。用坐标来说,如果一个标记点原来在 ,左右翻面后它就到了 —— 坐标取反, 坐标不变。
第二种手法:上下翻面(记作 Y)
这次你捏住胶片的上边缘和下边缘,像翻煎饼一样把胶片上下对调。翻完后,原来在上面的标记点跑到了下面,原来在下面的跑到了上面。用坐标来说, 变成了 —— 坐标不变, 坐标取反。
第三种手法:对角翻转(记作 S)
这个手法稍微复杂一些。想象胶片是一面正方形的镜子,你沿着从左下角到右上角的那条对角线(主对角线)把胶片"折"过去——左下方的点映射到右上方,右上方的点映射到左下方。用坐标来说, 变成了 —— 坐标和 坐标互换。
程老师会连续执行多次翻片手法。现在,程老师告诉你胶片上一共有 个标记点的初始位置,以及他接下来要按顺序执行的 次翻片手法。请你帮他算出,经过所有翻片之后,每个标记点最终会在什么位置。
输入格式
第一行两个整数 ,分别表示标记点的数量和翻片手法的次数。
第二行一个长度为 的字符串,每个字符是 X、Y 或 S 之一,表示按顺序执行的翻片手法。
接下来 行,每行两个整数 ,表示第 个标记点的初始坐标。
输出格式
输出 行,每行两个整数 ,表示第 个标记点经过所有翻片后的最终坐标。
数据范围
| 测试点编号 | 特殊性质 | ||
|---|---|---|---|
| 1 | 无 | ||
| 2~3 | A | ||
| 4~5 | 无 | ||
| 6~8 | |||
| 9~10 | |||
| 11~14 | |||
| 15~16 | B | ||
| 17~20 | 无 | ||
- 特殊性质 A:操作串只含
S。 - 特殊性质 B:操作串不含
S。 - 对于所有数据,,。
样例
样例输入 1
2 3
XSY
1 2
-3 4
样例输出 1
2 1
4 -3
样例输入 2
1 1
S
5 -7
样例输出 2
-7 5
样例输入 3
1 2
XX
3 4
样例输出 3
3 4
样例解释
样例 1:点 :执行 X 后变为 ,执行 S 后变为 ,执行 Y 后变为 。点 :执行 X 后变为 ,执行 S 后变为 ,执行 Y 后变为 。
- ID
- 683
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者
相关
在下列比赛中: