180. 【应-37-1·简】界面状态机转移
简单
Python
📋 题目描述
应用里常常存在多个界面(状态),用户的每一次操作(事件)会触发界面之间的切换。我们用一张状态转移表来描述:每一条 `from event to` 表示在 from 状态下收到 event 事件就跳到 to 状态。若当前状态没有针对该事件的转移规则,则界面保持不动。
现在给定一组转移规则、一个起始状态和一串事件序列,请输出依次响应所有事件之后的最终状态名。
📥 输入描述
第一行两个整数 N M(1<=N,M<=100),分别为状态数和转移规则数。
接下来 M 行,每行三个字符串 `from event to`,用空格分隔。
再一行一个字符串,表示起始状态名。
再一行一个整数 K(1<=K<=1000),表示事件数。
最后一行 K 个事件名,用空格分隔。
📤 输出描述
输出一行:最终状态名。
输入样例
3 3 IDLE start RUNNING RUNNING pause PAUSED PAUSED resume RUNNING IDLE 3 start pause resume
输出样例
RUNNING
提示:用 dict[(from, event)] = to 存表。
逐个事件 ev:若 (state, ev) 在 dict 里就更新 state,否则保持不变。
请登录后提交代码