#JLT08D. 2026年J组模拟赛10连测第8场-T4 程老师的彩带
2026年J组模拟赛10连测第8场-T4 程老师的彩带
| 项目 | 说明 |
|---|---|
| 目录 | ribbon |
| 可执行文件名 | ribbon.cpp |
| 输入文件 | ribbon.in |
| 输出文件 | ribbon.out |
| 每个测试点时限 | 1.0 秒 |
| 内存限制 | 512 MiB |
| 测试点数目 | 20 |
| 测试点是否等分 | 是 |
题目描述
程老师带学生做手工,材料是一条 个格子的彩带。每个格子都要染上颜色,可选的颜色有且只有三种,为了书写方便记作颜色 、颜色 、颜色 ;每个格子染且只染一种颜色。
染色有一条禁忌:颜色 与颜色 不能相邻。只要相邻的两个格子里,一个染的是 、另一个染的是 ,不管 在前还是 在前,这样的染法都不允许。除这一条之外没有别的限制:相邻两格都染 、都染 、都染 都可以, 与 相邻、 与 相邻也都可以。
程老师还要数一数一条彩带上有多少同色处:如果第 个格子和第 个格子染的颜色相同,那么位置 就贡献一处同色;整条彩带上这样的位置有几对,就有几处同色。
程老师想知道,在所有不违反禁忌的染法中,恰好有 处同色的染法共有多少种。两种染法只要有任意一个格子的颜色不同,就视为不同的染法。答案可能很大,只需要给出它对 取模的结果。
输入格式
从文件 ribbon.in 中读入数据。
一行两个整数 。
输出格式
输出到文件 ribbon.out 中。
一行一个整数,表示满足条件的染法数对 取模的结果。
数据范围
对于所有测试数据,保证:
- ;
- 。
| 测试点 | 特殊性质 | |
|---|---|---|
| 1~2 | 无 | |
| 3~6 | ||
| 7~10 | ||
| 11~14 | ||
| 15~18 | ||
| 19 | A | |
| 20 | B |
特殊性质 A:。
特殊性质 B:。
3 1
8
2 0
4
样例解释
样例 1:先不考虑禁忌,三个格子恰好有一处同色,同色的那一对只能出现在 或 这两个位置之一;这对格子的颜色有 种选法,剩下的第三个格子只要与这一对颜色不同就行,有 种选法,共 种。把这 种逐个看过去,002、200、220、022 这四种在相邻位置上出现了 与 ,违反禁忌;其余 种都不违反,所以答案是 。
样例 2:两个格子没有同色处,说明两格颜色必须不同。从三种颜色里取两种并分先后,得到 01、10、12、21、02、20 六种,其中 02 与 20 两格相邻处恰好是 与 ,违反禁忌,要排除。剩下 01、10、12、21 共 种。
- ID
- 3760
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 512MiB
- 上传者
相关
在下列比赛中: