题解 | #配置文件恢复#

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

没搞明白,本地是没问题的,在线就一直数组越界。
-------------------------------------------------------------------
愚公移山
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ProjectSample
{
    //HJ66
    class Program
    {
        static void Main(string[] args)
        {
            string input = string.Empty;
            while (!string.IsNullOrEmpty(input = Console.ReadLine().ToLower().Trim())) 
            {
                if (input.Split(' ').Length > 2)
                {
                    PrintFailure();
                    continue;
                }
                if (!input[0].Equals('r') && !input[0].Equals('b'))
                {
                    PrintFailure();
                    continue;
                }
                if (input.Length == 0) 
                {
                    PrintFailure();
                    continue;
                }

                if (input.Split(' ').Length == 1)
                {
                    if (!input[0].Equals('r'))
                    {
                        PrintFailure();
                        continue;
                    }
                    else 
                    {
                        if (!"reset".Contains(input))
                        {
                            PrintFailure();
                            continue;
                        }
                        else 
                        {
                            Console.WriteLine("reset what");
                        }
                    }
                }
                else 
                {
                    string word1 = input.Split()[0];
                    string word2 = input.Split()[1];

                    if (!word2[0].Equals('b') && !word2[0].Equals('a') && !word2[0].Equals('d')) 
                    {
                        PrintFailure();
                        continue;
                    }
                    // reset board
                    // reboot board
                    if (word1[0].Equals('r'))
                    {
                        if (word1.Equals("r") | word1.Equals("re")) 
                        {
                            if (!word2.Contains("ba") && !word2.Contains("bo")) 
                            {
                                PrintFailure();
                                continue;
                            }
                        }

                        if ("reset".Contains(word1))
                        {
                            if (!"board".Contains(word2))
                            {
                                PrintFailure();
                                continue;
                            }
                            else 
                            {
                                Console.WriteLine("board fault");
                            }
                        }
                        else if ("reboot".Contains(word1))
                        {
                            if (!"backplane".Contains(word2))
                            {
                                PrintFailure();
                                continue;
                            }
                            else
                            {
                                Console.WriteLine("impossible");
                            }
                        }
                        else 
                        {
                            PrintFailure();
                            continue;
                        }
                    }
                    // board add
                    // board delete
                    // backplane abort
                    else if (word1[0].Equals('b'))
                    {
                        if (word1.Equals("b")) 
                        {
                            if (!word2[0].Equals('a') && !word2[0].Equals('d'))
                            {
                                PrintFailure();
                                continue;
                            }
                            if (word2.Equals("a"))
                            {
                                PrintFailure();
                                continue;
                            }
                        }
                        if ("board".Contains(word1))
                        {
                            if (!word2[0].Equals('a') && !word2[0].Equals('d')) 
                            {
                                PrintFailure();
                                continue;
                            }
                            if (word2[0].Equals('a')) 
                            {
                                if ("add".Contains(word2))
                                {
                                    Console.WriteLine("where to add");
                                    continue;
                                }
                                else 
                                {
                                    PrintFailure();
                                    continue;
                                }
                            }
                            if (word2[0].Equals('d')) 
                            {
                                if ("delete".Contains(word2))
                                {
                                    Console.WriteLine("no board at all");
                                    continue;
                                }
                                else
                                {
                                    PrintFailure();
                                    continue;
                                }
                            }
                        }
                        else if ("backplane".Contains(word1))
                        {
                            if (!word2[0].Equals('a')) 
                            {
                                PrintFailure();
                                continue;
                            }
                            if ("abort".Contains(word2))
                            {
                                Console.WriteLine("install first");
                                continue;
                            }
                            else
                            {
                                PrintFailure();
                                continue;
                            }
                        }
                        else 
                        {
                            PrintFailure();
                            continue;
                        }
                    }
                }
                
            }
        }

        static void PrintFailure() 
        {
            Console.WriteLine("unknown command");
        }
    }
}


全部评论

相关推荐

暴风雨来了:学历没有问题,然后既然有实习经历的话,把这个放在上面多写一点,哪怕你自己包装一下,只要能圆回来就行,既然有实习经历的话,肯定主要看实习经历之类的。然后也会主要问这里多准备准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务