A13150 | Red-Blue Graph
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
There is a directed graph on $n$ vertices numbered $1$ through $n$ where each vertex (except $n$ ) has two outgoing arcs, red and blue. At any point in time, exactly one of the arcs is active for each vertex. Initially, all blue arcs are active and there is a token located at vertex $1$ . In one second, the vertex with token first switches its active arcs — the inactive arc becomes active and vice versa. Then, the token is moved along the active arc. When the token reaches the vertex $n$ , it stops. It is guaranteed that $n$ is reachable via arcs from every vertex.
You are given $q$ queries. Each query contains a state of the graph — a pair $(v, s)$ of the following form:
- $v$ is the vertex where the token is currently located;
- $s$ is a string consisting of $n - 1$ characters. The $i$ -th character corresponds to the color of the active edge leading from the $i$ -th vertex (the character is 'R' if red arc is active, otherwise the character is 'B').
For each query, determine whether the given state is reachable from the initial state and the first time this configuration appears. Note that the two operations (change active arc and traverse it) are atomic — a state is not considered reached if it appears after changing the active arc but before traversing it.
You are given $q$ queries. Each query contains a state of the graph — a pair $(v, s)$ of the following form:
- $v$ is the vertex where the token is currently located;
- $s$ is a string consisting of $n - 1$ characters. The $i$ -th character corresponds to the color of the active edge leading from the $i$ -th vertex (the character is 'R' if red arc is active, otherwise the character is 'B').
For each query, determine whether the given state is reachable from the initial state and the first time this configuration appears. Note that the two operations (change active arc and traverse it) are atomic — a state is not considered reached if it appears after changing the active arc but before traversing it.
输入格式
The first line contains a single integer $n$ ( $2 \leq n \leq 58$ ) — the number of vertices.
$n-1$ lines follow, $i$ -th of contains two space separated integers $b_i$ and $r_i$ ( $1 \leq b_i, r_i \leq n$ ) representing a blue arc $(i, b_i)$ and red arc $(i, r_i)$ , respectively. It is guaranteed that vertex $n$ is reachable from every vertex.
The next line contains a single integer $q$ ( $1 \leq q \leq 5000$ ) — the number of queries.
Then $q$ lines with queries follow. The $j$ -th of these lines contains an integer $v$ ( $1 \leq v < n$ ) and a string $s$ of length $n-1$ consiting only of characters 'R' and 'B'. The $i$ -th of these characters is 'R' if the red arc going from $i$ is active and 'B' otherwise.
$n-1$ lines follow, $i$ -th of contains two space separated integers $b_i$ and $r_i$ ( $1 \leq b_i, r_i \leq n$ ) representing a blue arc $(i, b_i)$ and red arc $(i, r_i)$ , respectively. It is guaranteed that vertex $n$ is reachable from every vertex.
The next line contains a single integer $q$ ( $1 \leq q \leq 5000$ ) — the number of queries.
Then $q$ lines with queries follow. The $j$ -th of these lines contains an integer $v$ ( $1 \leq v < n$ ) and a string $s$ of length $n-1$ consiting only of characters 'R' and 'B'. The $i$ -th of these characters is 'R' if the red arc going from $i$ is active and 'B' otherwise.
输出格式
Output $q$ lines, each containing answer to a single query.
If the state in the $i$ -th query is unreachable, output the integer $-1$ . Otherwise, output $t_i$ — the first time when the state appears (measured in seconds, starting from the initial state of the graph which appears in time $0$ ).
If the state in the $i$ -th query is unreachable, output the integer $-1$ . Otherwise, output $t_i$ — the first time when the state appears (measured in seconds, starting from the initial state of the graph which appears in time $0$ ).
输入输出样例
输入 #1
6 2 1 5 5 2 1 6 3 4 3 21 1 BBBBB 1 RBBBB 2 BBBBB 5 BRBBB 3 BRBBR 1 BRRBR 1 RRRBR 2 BRRBR 5 BBRBR 4 BBRBB 3 BBRRB 2 BBBRB 5 BRBRB 3 BRBRR 1 BRRRR 1 RRRRR 2 BRRRR 5 BBRRR 4 BBRRB 2 BRBBB 4 BRBBR
输出 #1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -1 -1
The graph in the first example is depticed in the figure below.

The first $19$ queries denote the journey of the token. On the $19$ -th move the token would reach the vertex $6$ . The last two queries show states that are unreachable.

The first $19$ queries denote the journey of the token. On the $19$ -th move the token would reach the vertex $6$ . The last two queries show states that are unreachable.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted