题解 | #配置文件恢复#

配置文件恢复

http://www.nowcoder.com/practice/ca6ac6ef9538419abf6f883f7d6f6ee5

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string code[6] = {"reset","reset board","board add","board delete","reboot backplane","backplane abort"};
    string run[6] = {"reset what","board fault","where to add","no board at all","impossible","install first"};
    int result [6] = {0,0,0,0,0,0};
    string input;
    while(getline(cin, input))
    {
        bool flag = true;
        //如果输入是一个:只跟第一个匹配
        if(input.find(' ') == input.npos)
        {
            int length = input.length();
            for(int i=0; i<length; i++)
            {
                if(input[i] != code[0][i])
                {
                    cout<<"unknown command"<<endl;
                    flag = false;
                    break;
                }
            }
            if(flag)
            {
                cout<<run[0]<<endl;
            }
        }
        //两个匹配呗
        else
        {
            int length = input.length();
            int result = 0;
            //两个字的五组都要匹配
            for(int i=1; i<6; i++)
            {
                int n = 0;
                flag = true;
                int m=code[i].find(' ');
                for(int j=0;j<length;j++)
                {
                    if(input[j] == ' ')
                    {
                        n = m+1;
                        continue;
                    }
                    if(input[j] != code[i][n])
                    {
                        flag = false;
                    }
                    n++;
                }
                if(flag && result == 0)
                {
                    result = i;
                }
                else if(flag && result != 0)
                {
                    result = 0;
                    cout<<"unknown command"<<endl;
                    break;
                }
            }
            if(result != 0)
            {
                 cout<<run[result]<<endl;
            }
            else
            {
                cout<<"unknown command"<<endl;
            }
        }
    }
    return 0;
}
全部评论
运行有错误啊
点赞 回复
分享
发布于 2021-09-16 12:19

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务