提出 #36610705


ソースコード 拡げる

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()
        {
            using var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
            Console.SetOut(sw);
            Solve();
            Console.Out.Flush();
        }

        public static void Solve()
        {
            var (N, Q) = Scanner.Scan<int, int>();
            var dict = new Dictionary<int, HashSet<int>>();
            while (Q-- > 0)
            {
                var (t, a, b) = Scanner.Scan<int, int, int>();
                if (!dict.ContainsKey(a)) dict[a] = new HashSet<int>();
                if (!dict.ContainsKey(b)) dict[b] = new HashSet<int>();

                if (t == 1)
                {
                    dict[a].Add(b);
                }
                else if (t == 2)
                {
                    if (dict[a].Contains(b)) dict[a].Remove(b);
                }
                else
                {
                    var answer = dict[a].Contains(b) && dict[b].Contains(a);
                    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));
        }
    }
}

提出情報

提出日時
問題 C - FF
ユーザ AconCavy
言語 C# (.NET Core 3.1.201)
得点 300
コード長 3597 Byte
結果 AC
実行時間 329 ms
メモリ 76236 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 17
セット名 テストケース
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_small_sns_03.txt, 01_small_sns_04.txt, 01_small_sns_05.txt, 01_small_sns_06.txt, 02_random_07.txt, 02_random_08.txt, 03_max_09.txt, 03_max_10.txt, 04_large_sns_11.txt, 04_large_sns_12.txt, 04_large_sns_13.txt, 05_handmade_14.txt, 05_handmade_15.txt, 05_handmade_16.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 80 ms 27840 KiB
00_sample_01.txt AC 80 ms 27808 KiB
00_sample_02.txt AC 78 ms 27848 KiB
01_small_sns_03.txt AC 82 ms 27572 KiB
01_small_sns_04.txt AC 186 ms 46088 KiB
01_small_sns_05.txt AC 206 ms 47064 KiB
01_small_sns_06.txt AC 174 ms 46564 KiB
02_random_07.txt AC 98 ms 35540 KiB
02_random_08.txt AC 217 ms 63516 KiB
03_max_09.txt AC 328 ms 76236 KiB
03_max_10.txt AC 329 ms 71608 KiB
04_large_sns_11.txt AC 232 ms 65160 KiB
04_large_sns_12.txt AC 173 ms 55796 KiB
04_large_sns_13.txt AC 223 ms 57048 KiB
05_handmade_14.txt AC 322 ms 65188 KiB
05_handmade_15.txt AC 322 ms 69628 KiB
05_handmade_16.txt AC 259 ms 58764 KiB