两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

Dotcpp  >  編程題庫  >  藍橋杯算法提高VIP-Suffix-Replacement Grammars
題目 1942:

藍橋杯算法提高VIP-Suffix-Replacement Grammars

時間限制: 2s 內存限制: 192MB 提交: 4 解決: 0

題目描述

和程序員一樣,你也聽說過正則表達式和上下文無關文法吧。有很多種方法生成小寫字母的字符串集合(從另一方面叫做形式語言)。還有更多其他不為人知的方法生成語言,比如樹鄰接語法、上下文有關文法和無限制語法。這個問題用一種新的方法生成語言:后綴替換法。
一個后綴替換法由起始字符串S和一些后綴替換規(guī)則組成。每個規(guī)則是由X→Y的形式給出,其中X和Y是等長的由字母構成的字符串。這個規(guī)則表示如果你現在的字符串后綴(最右的字符)是X,你就可以用Y替代它。這個規(guī)則可以無限次使用。
舉個例子,假如有4個規(guī)則A→B,AB→BA,AA→CC,CC→BB,你就可以通過三步把AA變成BB:AA→AB(用A→B規(guī)則),AB→BA(用AB→BA規(guī)則),BA→BB(用A→B規(guī)則),但你也可以用兩步更快的完成:AA→CC(用AA→CC規(guī)則),CC→BB(用CC→BB規(guī)則)。
你要寫一個程序通過后綴替換規(guī)則和字符串T確定起始字符串S能否變成T,如果可能,求最小步數。

輸入格式

輸入文件包含多組數據,每組數據第一行包括2個等長字符串S和T(S和T長度在1到20之間,由空格隔開),以及一個整數NR(0<=NR<=100),代表規(guī)則數,之后NR行每行包含兩個等長字符串X和Y(X和Y長度在1到20之間,由空格隔開),代表X→Y是一種規(guī)則。字符串區(qū)分大小寫,文件最后一行由一個點結尾。

輸出格式

對于每組數據,輸出數據編號(從1開始)和從S到T的最少步數,如果無法轉換,就輸出“No solution”。按照示例的格式輸出。

樣例輸入

AA BB 4
A B
AB BA
AA CC
CC BB
A B 3
A C
B C
c B
.

樣例輸出

Case 1: 2
Case 2: No solution

提示

零基礎同學可以先學習視頻課程,包含C/C++、Python、百練、藍橋杯輔導、算法數據結構等課程,提供視頻講解以及配套習題,還有老師答疑,點擊這里了解課程詳情
標簽