Submission #29441499


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;

namespace Tasks
{
    public class C
    {
        public static void Main(string[] args)
        {
            var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
            Console.SetOut(sw);
            Solve();
            Console.Out.Flush();
        }

        public static void Solve()
        {
            var (x1, y1, x2, y2) = Scanner.Scan<long, long, long, long>();

            var D = new[] { (-2, 1), (-2, -1), (-1, 2), (-1, -2), (1, 2), (1, -2), (2, 1), (2, -1) };
            var answer = false;
            foreach (var (dx1, dy1) in D)
            {
                var (xx1, yy1) = (x1 + dx1, y1 + dy1);
                foreach (var (dx2, dy2) in D)
                {
                    var (xx2, yy2) = (x2 + dx2, y2 + dy2);
                    answer |= xx1 == xx2 && yy1 == yy2;
                }
            }

            Console.WriteLine(answer ? "Yes" : "No");
        }

        public static class Scanner
        {
            public static string ScanLine() => Console.ReadLine()?.Trim() ?? string.Empty;
            public static string[] Scan() => ScanLine().Split(' ');
            public static T Scan<T>() where T : IConvertible => Convert<T>(Scan()[0]);
            public static (T1, T2) Scan<T1, T2>() where T1 : IConvertible where T2 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]));
            }
            public static (T1, T2, T3) Scan<T1, T2, T3>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]));
            }
            public static (T1, T2, T3, T4) Scan<T1, T2, T3, T4>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]));
            }
            public static (T1, T2, T3, T4, T5) Scan<T1, T2, T3, T4, T5>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]));
            }
            public static (T1, T2, T3, T4, T5, T6) Scan<T1, T2, T3, T4, T5, T6>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible where T6 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]), Convert<T6>(line[5]));
            }
            public static IEnumerable<T> ScanEnumerable<T>() where T : IConvertible => Scan().Select(Convert<T>);
            private static T Convert<T>(string value) where T : IConvertible => (T)System.Convert.ChangeType(value, typeof(T));
        }
    }
}

Submission Info

Submission Time
Task C - Knight Fork
User AconCavy
Language C# (.NET Core 3.1.201)
Score 300
Code Size 3380 Byte
Status AC
Exec Time 94 ms
Memory 27520 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 20
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 02_min_00.txt, 03_yes_00.txt, 03_yes_01.txt, 03_yes_02.txt, 03_yes_03.txt, 03_yes_04.txt, 03_yes_05.txt, 03_yes_06.txt, 03_yes_07.txt, 04_near_00.txt, 04_near_01.txt, 04_near_02.txt, 04_near_03.txt, 04_near_04.txt, 04_near_05.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 89 ms 27108 KiB
00_sample_01.txt AC 77 ms 27336 KiB
00_sample_02.txt AC 76 ms 27108 KiB
01_random_00.txt AC 77 ms 27120 KiB
01_random_01.txt AC 94 ms 27196 KiB
02_min_00.txt AC 85 ms 27092 KiB
03_yes_00.txt AC 85 ms 27100 KiB
03_yes_01.txt AC 80 ms 27508 KiB
03_yes_02.txt AC 81 ms 27520 KiB
03_yes_03.txt AC 81 ms 27164 KiB
03_yes_04.txt AC 85 ms 27260 KiB
03_yes_05.txt AC 84 ms 27116 KiB
03_yes_06.txt AC 81 ms 27104 KiB
03_yes_07.txt AC 84 ms 27144 KiB
04_near_00.txt AC 86 ms 27144 KiB
04_near_01.txt AC 79 ms 27092 KiB
04_near_02.txt AC 78 ms 27192 KiB
04_near_03.txt AC 89 ms 27340 KiB
04_near_04.txt AC 81 ms 27464 KiB
04_near_05.txt AC 87 ms 27460 KiB