Постановка проблемы - Невозможно понять формулировку проблемы - PullRequest
0 голосов
/ 20 марта 2020

Я пытался кодировать, чтобы улучшить свои навыки кодирования. У меня возникла проблема, но я не уверен, что такое формулировка проблемы. Может ли кто-нибудь помочь в понимании проблемы. Флот Дронов

Постановка задачи

Вам предоставлен парк дронов.

Дроны выстроены в ряд и представлены символами> и <. > означает, что дрон направлен вперед, а <означает, что дрон направлен назад. Оператор управления автопарком может выполнять несколько операций. Операция использует индекс начальной позиции и индекс конечной позиции и переориентирует все дроны, попадающие между индексами (включая сами индексы). Цель состоит в том, чтобы вывести конечное состояние дронов. </p>

Формат ввода

Первая строка ввода состоит из целого числа t, обозначающего количество тестовых случаев. Первая строка каждого теста состоит из целого числа n, обозначающего количество дронов. Вторая строка - это ориентационное представление n дронов. Третья строка состоит из целого числа o, обозначающего количество операций. Следующие o строк следуют за каждой, состоящей из двух разделенных пробелом целых чисел s (обозначающих начальный индекс) и e (обозначающих конечный индекс). Индекс начинается с 0.

Пример ввода

3
4
<<<<
1
0 2
2
<>
0
5
'><<<<'
5
0 2
1 2
0 2
0 4
3 3

Пример вывода:

'>>><'
<>
<<><>

Ответы [ 2 ]

0 голосов
/ 20 марта 2020
using System;
using System.Collections.Generic;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Enter number of  Test cases");
            int testcases = Convert.ToInt32(Console.ReadLine());
            for(int k=1;k<=testcases;k++)
            {
                Console.Write("Enter number of drones for {0} test case",k);
                int numofdrones = Convert.ToInt32(Console.ReadLine());
                Console.Write("enter the orientaion for {0} drones as < or > ", numofdrones);
                string dronesOrientaion = Console.ReadLine();
                Console.Write("Enter number of operation required for {0} test case", k);
                int numOperation = Convert.ToInt32(Console.ReadLine());

                Dictionary<int, List<int>> indexofoperation = new Dictionary<int, List<int>>();
                for (int i = 1; i <= numOperation; i++)
                {
                    List < int > indexval= new List<int>();
                    Console.WriteLine("enter start index");
                    int startindex = Convert.ToInt32(Console.ReadLine());
                    indexval.Add(startindex);
                    Console.WriteLine("enter end index");
                    int endindex = Convert.ToInt32(Console.ReadLine());
                    indexval.Add(endindex);
                    indexofoperation.Add(i, indexval);
                }


                finalDroneState(dronesOrientaion, indexofoperation);
                Console.ReadLine();
            }
        }

        private static void finalDroneState(string dronesOrientaion, Dictionary<int, List<int>> indexofoperation)
        {
            string initialString = dronesOrientaion;
            foreach (var item in indexofoperation)
            {
                //for (int a = 0; a < item.Key; a++)
                //{
                    List<int> operationval = item.Value;
                    int[] arr1 = operationval.ToArray();

                    for (int s=arr1[0];s<=arr1[arr1.Length-1];s++)//each (int m in operationval)
                    {

                        char[] ch = initialString.ToCharArray();
                        if (ch[s] == '>')
                        {
                            ch[s] = '<';
                        }
                        else
                        {
                            ch[s] = '>';
                        }
                        initialString = new string(ch);
                    }
               // }
            }
            Console.WriteLine(initialString);

        }

    }
}
0 голосов
/ 20 марта 2020

Вам нужно разбить его на части и go по кусочкам и внимательно прочитать инструкции, чтобы убедиться, что вы понимаете. Я взял каждую строку и указал, что это такое, и результаты каждой операции для каждого теста ниже.

3       = Number of Test Cases

== Test case 1 ==
4       = Number of drones
<<<<    = Start orientation of each drone (4 as per line above)
1       = Number of operations

== Operation 1 of Test case 1 ==
0 2     = Start & end index 


== Result of Test case 1 ==

>>><

== Test case 2 ==
2       = Number of drones
<>      = Start orientation of each drone
0       = Number of operations


== Result of Test case 2 ==

<>

== Test case 3 ==
5       = Number of drones
><<<<   = Start orientation of each drone 
5       = Number of operations

== Operation 1 of Test case 3 ==
0 2     = Start & end index 

== Operation 2 of Test case 3 ==
1 2     = Start & end index 

== Operation 3 of Test case 3 ==
0 2     = Start & end index 

== Operation 4 of Test case 3 ==
0 4     = Start & end index 

== Operation 5 of Test case 3 ==
3 3     = Start & end index 


== Result of Test case 2 ==

<>><<   = after operation 1
<<<<<   = after operation 2
>><<<   = after operation 3
<<>>>   = after operation 4
<<><>   = after operation 5 (result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...