题解 | #配置文件恢复#

配置文件恢复

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

// HJ66 配置文件恢复.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

#include<iostream>
#include<bits/stdc++.h>

using namespace std;

int main()
{
	string str;//定义一个待查找的字符串
	string signal = "reset";//将只有一个字串的情况单独列出来等会查找用
	vector<vector<string>>dp = { {"reset","board","board fault"},{"board","add","where to add"},{"board","delete","no board at all"},
		{"reboot","backplane","impossible"},{"backplane","abort","install first"} };//定义一个二维数组,一共五组,每组前两位为两个字串第三位为结果
	while (getline(cin, str))//可循环输入的语句,注意输入用getline而不是用cin
	{
		string res = "";//定义一个输出字符串,等待输出结果
		int n=count(str.begin(), str.end(), ' ');//定义一个整数n记录输入的字符串中有几个空格
		if (n == 0)//判断没有空格的情况为只输入了一个字串,单独处理即可
		{
			if (signal.find(str) == 0)//唯一的单独字串直接处理使用find函数查找是否从第一位开始的,如不是则说明不匹配
			{
				cout << "reset what" << endl;//如果是第一位开始的则find函数返回值为0输入相应的结果
			}
			else//否则此字串不是目标字串
			{
				cout << "unknown command" << endl;//输出未查询到
			}
		}
		else//判断输入的字串数量不为1,为第二种情况,采用数组处理
		{
			int l = str.find(' ');//定义一个整数l记录find函数返回的空格所在位置的字符串str的下标
			int count = 0;//定义一个整数记录匹配对数是否是唯一的
			string str1 = str.substr(0, l);//定义第一个字串为str1采用substr函数分割复制字符串
			string str2 = str.substr(l + 1, str.size() - l - 1);//定义第二个字串为str2采用substr函数分割复制字符串
			for (int i = 0; i < 5; i++)//遍历两个字串在数组dp中的存在情况
			{
				if (dp[i][0].find(str1) == 0 && dp[i][1].find(str2) == 0)//如果字串1和字串2都在数组dp的某个位置存在则
				{
					res = dp[i][2];//将匹配到的数组的第三位赋值给要输出的字符串res
					count++;//记录匹配次数是否为1次,大于一次则输出查询不到
				}
			}
			if (count == 1)//判断匹配次数是否为1次,大于一次则输出查询不到
			{
				cout << res << endl;//输出结果
			}
			else
			{
				cout << "unknown command" << endl;//输出无法查询到结果
			}
		}
	}
	return 0;//函数结束
}

全部评论

相关推荐

哈哈哈,你是老六:百度去年裁员分评不好,赶紧弄点红包
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
10895次浏览 93人参与
# 你的实习产出是真实的还是包装的? #
1936次浏览 42人参与
# MiniMax求职进展汇总 #
24091次浏览 309人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7605次浏览 43人参与
# 简历第一个项目做什么 #
31722次浏览 338人参与
# 重来一次,我还会选择这个专业吗 #
433504次浏览 3926人参与
# 米连集团26产品管培生项目 #
6006次浏览 216人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187176次浏览 1122人参与
# 牛客AI文生图 #
21442次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152419次浏览 888人参与
# 研究所笔面经互助 #
118955次浏览 577人参与
# 简历中的项目经历要怎么写? #
310295次浏览 4216人参与
# AI时代,哪些岗位最容易被淘汰 #
63741次浏览 826人参与
# 面试紧张时你会有什么表现? #
30508次浏览 188人参与
# 你今年的平均薪资是多少? #
213111次浏览 1039人参与
# 你怎么看待AI面试 #
180086次浏览 1258人参与
# 高学历就一定能找到好工作吗? #
64329次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76515次浏览 374人参与
# 我的求职精神状态 #
448107次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363447次浏览 2638人参与
# 腾讯音乐求职进展汇总 #
160661次浏览 1112人参与
# 校招笔试 #
471054次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务