Здравейте, имам въпрос относно задача Chess Square Color от курса C# Fundamentals. Тъй като условиято на задачата поставя ограниченията a
<= L <= h
и 1
<= R <= 8
, създадеох променлива valid, която проверява диапазона на подадените в конзилата стойности, и ако биквата е над h или цифрата е над 8 не принтира резултат:
using System;
namespace Chess
{
internal class Program
{
static void Main(string[] args)
{
string label = Console.ReadLine().ToLower();
int rank = int.Parse(Console.ReadLine());
bool labelIsOdd = label == "a" || label == "c" || label == "e" || label == "g";
bool rankIsOdd = rank % 2 == 1;
bool valid = (label == "a" || label == "b" || label == "b" || label == "b"
|| label == "e" || label == "f" || label == "g" || label == "h") && rank > 0 && rank <= 8;
if (valid == true && labelIsOdd == true && rankIsOdd == true)
{
Console.WriteLine("dark");
}
else if (valid == true && labelIsOdd == true && rankIsOdd == false)
{
Console.WriteLine("light");
}
else if (valid == true && labelIsOdd == false && rankIsOdd == true)
{
Console.WriteLine("light");
}
else if (valid == true && labelIsOdd == false && rankIsOdd == false)
{
Console.WriteLine("dark");
}
}
}
}
При така написания код програмата ми дава 60 точки. Ако премахна частта с проверката за валидност получавам 100 точки. Тъй като програмата не посочва какво точно въвежда при Test case # 4 и Test case # 5, където ми дава Wrong Answer, може ли някой да ми каже какъв е проблема с горния код? Без проверката на валидност програмата приема букви до Z и безкрайно големи числа, което не ми се вижда правилно.