Исправить код по задаче о катящемся кубике - C#
Формулировка задачи:
Грани кубика помечены числами от 1 до 6.
Если кубик лежит на плоскости, то оставляет след в виде квадрата с цифрой равной цифре на основании кубика.
Кубик катится по столу, переворачиваясь через ребра.
Возьмем некоторую последовательность, состоящую из цифр от 1 до 6.
Определить является ли данная последовательность следом кубика.
Длина последовательности от 1 до 200 символов, в ней присутствуют только цифры от 1 до 6.
Развертка кубика изображена на рисунке. Кубик будет именно таким.
Начальные данные: Последовательность цифр от 1 до 6, записанных в виде строки без пробелов.
Вывод результата: "YES" или "NO" по условию задачи.
Нашими начальными данными по условию будут 6413 а вывод YES.
Укажите,в чём я был не прав и почему программа не работает.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int g = 0;
int n = 4;
string s = "1 2 3 4 5 6";
string s2 = Console.ReadLine();
string[] mass = s2.Split();
for (int i = 0; i < n; i++)
{
string a = mass[i];
if (s.Contains(a))
{
g++;
}
}
if (g == 4)
{
Console.WriteLine("YES");
}
}
}
}
чуток изменил цикл,но ничего не изменилось
for (int i = 0; i < n; i++)
{
string a = mass[i];
bool b = s.Contains(a);
if (b==true)
{
g++;
}
}Решение задачи: «Исправить код по задаче о катящемся кубике»
textual
Листинг программы
class Program
{
static void Main()
{
string input = Console.ReadLine();
Console.WriteLine(CanRoll(input) ? "YES" : "NO");
}
static bool CanRoll(string input)
{
if (input.Length == 1)
return true;
bool[,] adjacency = new bool[6, 6]
{
{ true, true, true, true, true, false },
{ true, true, true, true, false, true },
{ true, true, true, false, true, true },
{ true, true, false, true, true, true },
{ true, false, true, true, true, true },
{ false, true, true, true, true, true },
};
for (int i = 1; i < input.Length; i++)
{
int a = (int)char.GetNumericValue(input[i - 1]) - 1;
int b = (int)char.GetNumericValue(input[i]) - 1;
if (!adjacency[a, b])
return false;
}
return true;
}
}