配置檔案恢復
有6條配置命令,它們執行的結果分別是:
命 令
執 行
reset
reset what
reset board
board fault
board add
where to add
board delet
no board at all
reboot backplane
impossible
backplane abort
install first
he he
unkown command
注意:he he
不是命令。
為了簡化輸入,方便使用者,以「
最短唯一匹配原則
」匹配:
1、若只輸入一字串,則只匹配乙個關鍵字的命令列。例如輸入:
r,根據該規則,匹配命令
reset
,執行結果為:
reset what;輸入:res,根據該規則,匹配命令reset,執行結果為:reset what;
2、若只輸入一字串,但本條命令有兩個關鍵字,則匹配失敗。例如輸入:
reb,可以找到命令
reboot backpalne
執行結果為:unkown command
3、若輸入兩字串,則先匹配第一關鍵字,如果有匹配但不唯一,繼續匹配第二關鍵字,如果仍不唯一,匹配失敗。例如輸入:
r b,找到匹配命令
reset board
,執行結果為:board fault。
4、若輸入兩字串,則先匹配第一關鍵字,如果有匹配但不唯一,繼續匹配第二關鍵字,如果唯一,匹配成功。例如輸入:
b a,無法確定是命令
board add還是backplane abort,匹配失敗。
5、若輸入兩字串,第一關鍵字匹配成功,則匹配第二關鍵字,若無匹配,失敗。例如輸入:
bo a
,確定是命令
board add,匹配成功。
6、若匹配失敗,列印
「unkonw command」
輸入描述:
多行字串,每行字串一條命令
輸出描述:
執行結果,每條命令輸出一行
輸入例子:
reset
reset board
board add
board delet
reboot backplane
backplane abort
輸出例子:
reset what
board fault
where to add
no board at all
impossible
install first
解答**:
#include#include#include#include#include#includeusing namespace std;
mapcommand;
bool match(string s1,string s2)
else
}if(counter!=1)
result="unkown command";}}
return result;
}int main()
{ //freopen("1.txt","r",stdin);
//構造map對映
command.insert(pair("reset board", "board fault"));
command.insert(pair("board add", "where to add"));
command.insert(pair("board delet", "no board at all"));
command.insert(pair("reboot backplane", "impossible"));
command.insert(pair("backplane abort", "install first"));
string str;
while(getline(cin,str))
{string result=matchcommand(str);
cout<
配置檔案恢復 華為機試 C C
有6條配置命令,它們執行的結果分別是 命 令執 行 resetreset what reset boardboard fault board addwhere to add board deletno board at all reboot backplaneimpossible backplane...
配置檔案恢復
描述 有6條配置命令,它們執行的結果分別是 命 令 執 行 reset reset what reset board board fault board add where to add board delet no board at all reboot backplane impossible ...
drbd配置檔案 drbd配置檔案
drbd配置檔案 vim usr local drbd etc drbd.d global common.conf global usage count yes 是否參加drbd使用者統計 common protocol c 使用drbd的第三種同步協議 disk 使用dpod功能保證在數 on i...