Reishabh_Saxena
Просто вызовите метод run класса timemachine
using System;
using System.Linq;
public class amaz
{
public string run(int a, int b, int c, int d, int e, int f)
{
if (a > 9 || b > 9 || c > 9 || d > 9 || e > 9 || f > 9)
{
return "Impossible";
}
int[] input = { a,b,c,d,e,f};
return GetTime(input);
}
private string GetTime(int[] input)
{
int numIndex = -1;
if (!validateHour(input))
return "Impossible";
//set H1
int h1 = 0;
int h2 = 0;
if (input.Contains(1) && input.Contains(2)) {
h1 = 1;
numIndex = Array.IndexOf(input, h1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
h2 = 2;
numIndex = Array.IndexOf(input, h2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(0))
{
h1 = 0;
numIndex = Array.IndexOf(input, h1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
h2 = input.First();
numIndex = Array.IndexOf(input, h2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(1))
{
h1 = 1;
numIndex = Array.IndexOf(input, h1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
h2 = input.First();
numIndex = Array.IndexOf(input, h2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(2))
{
h1 = 2;
numIndex = Array.IndexOf(input, h1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
if (input.Contains(0))
{
h2 = 0;
numIndex = Array.IndexOf(input, h2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(1))
{
h2 = 1;
numIndex = Array.IndexOf(input, h2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(2))
{
h2 = 2;
numIndex = Array.IndexOf(input, h2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(3))
{
h2 = 3;
numIndex = Array.IndexOf(input, h2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
}
//set M1
if (!validateMinAndSec(input))
return "Impossible";
int m1 = 0;
if (input.Contains(0))
{
m1 = 0;
numIndex = Array.IndexOf(input, m1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(1))
{
m1 = 1;
numIndex = Array.IndexOf(input, m1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(2))
{
m1 = 2;
numIndex = Array.IndexOf(input, m1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(3))
{
m1 = 3;
numIndex = Array.IndexOf(input, m1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(4))
{
m1 = 4;
numIndex = Array.IndexOf(input, m1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(5))
{
m1 = 5;
numIndex = Array.IndexOf(input, m1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
int m2 = 0;
m2 = input.First();
numIndex = Array.IndexOf(input, m2);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
int s1 = 0;
if (!validateMinAndSec(input))
return "Impossible";
if (input.Contains(0))
{
s1 = 0;
numIndex = Array.IndexOf(input, s1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(1))
{
s1 = 1;
numIndex = Array.IndexOf(input, s1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(2))
{
s1 = 2;
numIndex = Array.IndexOf(input, s1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(3))
{
s1 = 3;
numIndex = Array.IndexOf(input, s1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(4))
{
s1 = 4;
numIndex = Array.IndexOf(input, s1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
else if (input.Contains(5))
{
s1 = 5;
numIndex = Array.IndexOf(input, s1);
input = input.Where((val, idx) => idx != numIndex).OrderBy(x => x).ToArray();
}
int s2 = 0;
s2 = input.First();
return h1.ToString() + h2.ToString() + ":" + m1.ToString() + m2.ToString() + ":" + s1.ToString() + s2.ToString();
}
private bool validateHour(int[] input)
{
if (input.Contains(1) || input.Contains(0)|| input.Contains(2))
return true;
return false;
}
private bool validateMinAndSec(int[] input)
{
if (input.Contains(0) || input.Contains(1) || input.Contains(2) || input.Contains(3) || input.Contains(4) || input.Contains(5))
return true;
return false;
}
}
Patrice T
Это было домашнее задание на 1 год, не уверен, что кто-то все еще ждет ответа.
Попробуйте вместо этого ответить на реальные вопросы.
При первом чтении я не уверен, что ваш код будет успешным с 0, 1, 2, 7, 8, 9