Ladybugs C# Fundamentals
Здравейте,
Решавам задача Ladybugs, но ми дава 80/100. TimeLimit ме спира да я направя 100/100, но немога да си открия грешката.
Здравейте,
Решавам задача Ladybugs, но ми дава 80/100. TimeLimit ме спира да я направя 100/100, но немога да си открия грешката.
Сложи един IF във while циклите който проверява дали lengthMove == 0 -> да брейкне цикъла
using System;
using System.Linq;
namespace ConsoleApp11
{
class Program
{
static void Main(string[] args)
{
int size = int.Parse(Console.ReadLine());
bool[] fields = new bool[size];
int[] indexes = Console.ReadLine()
.Split()
.Select(int.Parse)
.ToArray();
foreach(var index in indexes)
{
if (index < 0 || index >= fields.Length)
{
continue;
}
fields[index] = true;
}
while(true)
{
string line = Console.ReadLine();
if(line=="end")
{
break;
}
string[] parts = line.Split();
int index = int.Parse(parts[0]);
string direction = parts[1];
int lenght = int.Parse(parts[2]);
if (index < 0 || index >= fields.Length || !fields[index])
{
continue;
}
fields[index] = false;
while(true)
{
if (direction == "right")
{
index += lenght;
}
else
{
index -= lenght;
}
if(index >= fields.Length || index <0)
{
break;
}
if(!fields[index])
{
fields[index] = true;
break;
}
}
}
foreach(var cell in fields)
{
if(cell)
{
Console.Write("1 ");
}
else { Console.Write("0 "); }
}
}
}
}
Решението от видеото с Атанас Атанасов.
Сложих, сега е 90/100 и има една грешка, която не е Time Limit, а просто грешка.
Най - вероятно защото като скочиш 0 места се зануляваш, а трябва да си остане единица... Още един IF и си готова :)
Ето мойто кодче:
Цък
По - сложните задачки си ги коментирам подробно да мога да ги зубря ако се наложи по-късно
Мерси, ще разгледам твоето решение. Въпросът е, че си гледам кода и не виждам как ще зануля каквото и да е при този if.
Ето линк: https://pastebin.com/g9gUKvwZ