魔王語言解釋
[問題描述]
有一個(gè)魔王總是使用自己的一種非常精練而又抽象的語言講話,沒有人能聽得懂,但他的語言是可以逐步解釋成人能聽懂的語言,因?yàn)樗恼Z言是由以下兩種形式的規(guī)則由人的語言逐步抽象上去的:
(1) α 轉(zhuǎn)換為 β1β2…βm
(2) (θδ1δ2…δn) 轉(zhuǎn)換為 θδnθδn-1… θδ1θ
在這兩種形式重,從左到右均表示解釋。試寫一個(gè)魔王語言的解釋兄,把他的話解釋成人能聽得懂的話。
[基本要求]
用下述兩條具體規(guī)則和上述規(guī)則形式(2)實(shí)現(xiàn)。設(shè)大寫字母表示魔王語言的詞匯;小寫字母表示人的語言詞匯;希臘字母表示可以用大寫字母或小寫字母代換的變量。魔王語言可含人的詞匯。
(1)B 轉(zhuǎn)換為 tAdA
(2)A 轉(zhuǎn)換為 sae
[測(cè)試數(shù)據(jù)]
B(exnxgz)B解釋成tsaedsaeezegexenehetsaedsae
若將小寫字母與漢字建立下表所示的對(duì)應(yīng)關(guān)系,則魔王說的話是:“天上一只鵝地上一只鵝鵝追鵝趕鵝下鵝蛋鵝恨鵝天上一直鵝地上一只鵝”。
t d s a e z g x n h
天 地 上 一只 鵝 追 趕 下 蛋 恨
/*
* EULER S ALGORITHM 5.1
*
* TO APPROXIMATE THE SOLUTION OF THE INITIAL VALUE PROBLEM:
* Y = F(T,Y), A<=T<=B, Y(A) = ALPHA,
* AT N+1 EQUALLY SPACED POINTS IN THE INTERVAL [A,B].
*
* INPUT: ENDPOINTS A,B INITIAL CONDITION ALPHA INTEGER N.
*
* OUTPUT: APPROXIMATION W TO Y AT THE (N+1) VALUES OF T.
*/
[輸入]
圖的頂點(diǎn)個(gè)數(shù)N,圖中頂點(diǎn)之間的關(guān)系及起點(diǎn)A和終點(diǎn)B
[輸出]
若A到B無路徑,則輸出“There is no path” 否則輸出A到B路徑上個(gè)頂點(diǎn)
[存儲(chǔ)結(jié)構(gòu)]
圖采用鄰接矩陣的方式存儲(chǔ)。
[算法的基本思想]
采用廣度優(yōu)先搜索的方法,從頂點(diǎn)A開始,依次訪問與A鄰接的頂點(diǎn)VA1,VA2,...,VAK, 訪問遍之后,若沒有訪問B,則繼續(xù)訪問與VA1鄰接的頂點(diǎn)VA11,VA12,...,VA1M,再訪問與VA2鄰接頂點(diǎn)...,如此下去,直至找到B,最先到達(dá)B點(diǎn)的路徑,一定是邊數(shù)最少的路徑。實(shí)現(xiàn)時(shí)采用隊(duì)列記錄被訪問過的頂點(diǎn)。每次訪問與隊(duì)頭頂點(diǎn)相鄰接的頂點(diǎn),然后將隊(duì)頭頂點(diǎn)從隊(duì)列中刪去。若隊(duì)空,則說明到不存在通路。在訪問頂點(diǎn)過程中,每次把當(dāng)前頂點(diǎn)的序號(hào)作為與其鄰接的未訪問的頂點(diǎn)的前驅(qū)頂點(diǎn)記錄下來,以便輸出時(shí)回溯。
#include<stdio.h>
int number //隊(duì)列類型
typedef struct{
int q[20]
基因算法,用VC++或MATLAB,java等工具設(shè)計(jì)一程序計(jì)算任一個(gè)隨機(jī)產(chǎn)生的DNA基因表達(dá)式的有效長(zhǎng)度和值
設(shè)隨機(jī)產(chǎn)生的基因表達(dá)式為:
+ Q - / b * b a Q b a a b a a b b a a a b