プロファイルのリカバリ
2478 ワード
説明:
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 unkown command注意:he heはコマンドではありません.入力を簡略化するために、ユーザーを便利にするために、「最短一意一致原則」で一致させる:1、文字列のみを入力すると、キーワードのコマンドラインのみが一致する.例えば入力:r、この規則に従って、コマンドresetに一致し、実行結果は:reset what;入力:res、このルールに基づいて、コマンドresetに一致し、実行結果は:reset what;2、文字列のみを入力する場合、このコマンドに2つのキーワードがある場合、一致に失敗します.たとえば、入力:rebは、コマンドreboot backpalneを見つけることができますが、このコマンドには2つのキーワードがあり、すべてのマッチングに失敗しました.実行結果は、unkown command 3、2文字列を入力すると、まず第1のキーワードをマッチングし、マッチングがあるが一意でない場合は、第2のキーワードをマッチングし続け、まだ一意でない場合はマッチングに失敗します.たとえば、r bと入力し、一致コマンドreset boardを見つけ、実行結果はboard faultです.4、2文字列を入力すると、まず第1のキーワードに一致し、一致しているが一意でない場合は、第2のキーワードに一致し続け、一意である場合は一致に成功する.例えば、入力:b aは、コマンドboard addかbackplane abortか判断できず、マッチングに失敗します.5、二文字列を入力して、第一キーワードのマッチングに成功した場合、第二キーワードをマッチングし、マッチングがなければ失敗する.たとえば入力:bo a、コマンドboard addであることを決定し、マッチングに成功します.6、照合に失敗した場合、「unkonw command」を印刷する
タイトルカテゴリ:
文字列
難易度:
上級
実行時間の制限:
10Sec
メモリの制限:
128MByte
ステージ:
入社前の練習
入力:
複数行文字列、1行あたり1つのコマンド
出力:
実行結果、コマンドごとに1行出力
サンプル入力:
サンプル出力:
コード:
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 unkown command注意:he heはコマンドではありません.入力を簡略化するために、ユーザーを便利にするために、「最短一意一致原則」で一致させる:1、文字列のみを入力すると、キーワードのコマンドラインのみが一致する.例えば入力:r、この規則に従って、コマンドresetに一致し、実行結果は:reset what;入力:res、このルールに基づいて、コマンドresetに一致し、実行結果は:reset what;2、文字列のみを入力する場合、このコマンドに2つのキーワードがある場合、一致に失敗します.たとえば、入力:rebは、コマンドreboot backpalneを見つけることができますが、このコマンドには2つのキーワードがあり、すべてのマッチングに失敗しました.実行結果は、unkown command 3、2文字列を入力すると、まず第1のキーワードをマッチングし、マッチングがあるが一意でない場合は、第2のキーワードをマッチングし続け、まだ一意でない場合はマッチングに失敗します.たとえば、r bと入力し、一致コマンドreset boardを見つけ、実行結果はboard faultです.4、2文字列を入力すると、まず第1のキーワードに一致し、一致しているが一意でない場合は、第2のキーワードに一致し続け、一意である場合は一致に成功する.例えば、入力:b aは、コマンドboard addかbackplane abortか判断できず、マッチングに失敗します.5、二文字列を入力して、第一キーワードのマッチングに成功した場合、第二キーワードをマッチングし、マッチングがなければ失敗する.たとえば入力:bo a、コマンドboard addであることを決定し、マッチングに成功します.6、照合に失敗した場合、「unkonw command」を印刷する
タイトルカテゴリ:
文字列
難易度:
上級
実行時間の制限:
10Sec
メモリの制限:
128MByte
ステージ:
入社前の練習
入力:
複数行文字列、1行あたり1つのコマンド
出力:
実行結果、コマンドごとに1行出力
サンプル入力:
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
using namespace std;
int countSpace(const char a[])
{
int i = 0,count = 0;
while(a[i] != '\0')
{
if(a[i] == ' ')
{
count++;
}
i++;
}
return count;
}
bool compare(const char v1[],const char v2[])
{
int i = 0,j = 0;
while(v2[j] != '\0')
{
if(v1[i] == '\0')
return false;
// v2 , v1 v2
if(v2[j] == ' ')
{
while(v1[i] != ' ')
i++;
i++;j++;
}
if(v2[j] == v1[i])
{
i++;
j++;
}
else
return false;
}
return true;
}
int main()
{
char mnue[6][25] = {"reset","reset board","board add","board delet","reboot backplane","backplane abort"};
char str[50][50];
int i = 0;
while(cin.getline(str[i],49,'
') && str[i][0] != '\0')
i++;
if(i == 0)
cout << "unkown command" <