結果
問題 | No.581 XOR |
ユーザー | くれちー |
提出日時 | 2017-10-27 22:20:57 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 28 ms / 2,000 ms |
コード長 | 10,443 bytes |
コンパイル時間 | 1,414 ms |
コンパイル使用メモリ | 120,120 KB |
実行使用メモリ | 18,816 KB |
最終ジャッジ日時 | 2024-11-21 21:30:26 |
合計ジャッジ時間 | 1,988 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 27 ms
18,816 KB |
testcase_01 | AC | 28 ms
18,560 KB |
testcase_02 | AC | 27 ms
18,688 KB |
testcase_03 | AC | 28 ms
18,816 KB |
testcase_04 | AC | 28 ms
18,816 KB |
testcase_05 | AC | 28 ms
18,560 KB |
testcase_06 | AC | 28 ms
18,816 KB |
testcase_07 | AC | 27 ms
18,816 KB |
testcase_08 | AC | 27 ms
18,688 KB |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Numerics; using System.Text; using static System.Math; using static System.Linq.Enumerable; using static Extentions; public static class Program { public static void Solve(IO io) { var (a, c) = io.Read<long, long>(); io.Write(a ^ c); } public static void Main() { Console.SetOut(new StreamWriter(Console.OpenStandardOutput()) { NewLine = "\n", #if DEBUG AutoFlush = true, #else AutoFlush = false, #endif }); Solve(new IO(Console.In, Console.Out)); Console.Out.Flush(); } } public static partial class Extentions { } #region Library // fuckin' slow public class IO { public delegate T Parser<out T>(string str); public delegate string Serializer<in T>(T value); private TextReader _tr; private TextWriter _tw; public IO(TextReader tr, TextWriter tw) { _tr = tr; _tw = tw; } public string ReadLine() => _tr.ReadLine(); private string ReadWord() { var sb = new StringBuilder(); Repeat(_tr.Read).TakeWhile(c => c != ' ' && c != '\n').ForEach(c => sb.Append((char)c)); return sb.ToString(); } public T Read<T>(Parser<T> parser = null) => parser != null ? parser(ReadWord()) : (T)Convert.ChangeType(ReadWord(), typeof(T)); public (T1, T2) Read<T1, T2>( Parser<T1> parser1 = null, Parser<T2> parser2 = null) => (Read(parser1), Read(parser2)); public (T1, T2, T3) Read<T1, T2, T3>( Parser<T1> parser1 = null, Parser<T2> parser2 = null, Parser<T3> parser3 = null) => (Read(parser1), Read(parser2), Read(parser3)); public (T1, T2, T3, T4) Read<T1, T2, T3, T4>( Parser<T1> parser1 = null, Parser<T2> parser2 = null, Parser<T3> parser3 = null, Parser<T4> parser4 = null) => (Read(parser1), Read(parser2), Read(parser3), Read(parser4)); public T[] Read<T>(int count, Parser<T> parser = null) => Repeat(() => Read(parser), count).ToArray(); public (T1[], T2[]) Read<T1, T2>(int count, Parser<T1> parser1 = null, Parser<T2> parser2 = null) => Repeat(() => Read(parser1, parser2), count).ToArray().Unzip(); public (T1[], T2[], T3[]) Read<T1, T2, T3>(int count, Parser<T1> parser1 = null, Parser<T2> parser2 = null, Parser<T3> parser3 = null) => Repeat(() => Read(parser1, parser2, parser3), count).ToArray().Unzip(); public (T1[], T2[], T3[], T4[]) Read<T1, T2, T3, T4>(int count, Parser<T1> parser1 = null, Parser<T2> parser2 = null, Parser<T3> parser3 = null, Parser<T4> parser4 = null) => Repeat(() => Read(parser1, parser2, parser3, parser4), count).ToArray().Unzip(); public void Write<T>(T value, Serializer<T> serializer = null) { _tw.Write(serializer != null ? serializer(value) : value.ToString()); _tw.Write(' '); } public void Write<T1, T2>(T1 value1, T2 value2, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null) { Write(value1, serializer1); Write(value2, serializer2); } public void Write<T1, T2, T3>(T1 value1, T2 value2, T3 value3, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null, Serializer<T3> serializer3 = null) { Write(value1, serializer1); Write(value2, serializer2); Write(value3, serializer3); } public void Write<T1, T2, T3, T4>(T1 value1, T2 value2, T3 value3, T4 value4, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null, Serializer<T3> serializer3 = null, Serializer<T4> serializer4 = null) { Write(value1, serializer1); Write(value2, serializer2); Write(value3, serializer3); Write(value4, serializer4); } public void WriteLine<T>(T value, Serializer<T> serializer = null) { Write(value, serializer); _tw.WriteLine(); } public void WriteLine<T1, T2>(T1 value1, T2 value2, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null) { Write(value1, value2, serializer1, serializer2); _tw.WriteLine(); } public void WriteLine<T1, T2, T3>(T1 value1, T2 value2, T3 value3, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null, Serializer<T3> serializer3 = null) { Write(value1, value2, value3, serializer1, serializer2, serializer3); _tw.WriteLine(); } public void WriteLine<T1, T2, T3, T4>(T1 value1, T2 value2, T3 value3, T4 value4, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null, Serializer<T3> serializer3 = null, Serializer<T4> serializer4 = null) { Write(value1, value2, value3, value4, serializer1, serializer2, serializer3, serializer4); _tw.WriteLine(); } public void WriteLine<T>(IEnumerable<T> values, Serializer<T> serializer = null) => values.ForEach(v => WriteLine(v, serializer)); public void WriteLine<T1, T2>( IEnumerable<T1> values1, IEnumerable<T2> values2, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null) { foreach (var (v1, v2) in values1.Zip(values2, ValueTuple.Create)) WriteLine(v1, v2, serializer1, serializer2); } public void WriteLine<T1, T2, T3>( IEnumerable<T1> values1, IEnumerable<T2> values2, IEnumerable<T3> values3, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null, Serializer<T3> serializer3 = null) { foreach (var (v1, v2, v3) in values1.Zip(values2, values3, ValueTuple.Create)) WriteLine(v1, v2, v3, serializer1, serializer2, serializer3); } public void WriteLine<T1, T2, T3, T4>( IEnumerable<T1> values1, IEnumerable<T2> values2, IEnumerable<T3> values3, IEnumerable<T4> values4, Serializer<T1> serializer1 = null, Serializer<T2> serializer2 = null, Serializer<T3> serializer3 = null, Serializer<T4> serializer4 = null) { foreach (var (v1, v2, v3, v4) in values1.Zip(values2, values3, values4, ValueTuple.Create)) WriteLine(v1, v2, v3, v4, serializer1, serializer2, serializer3, serializer4); } } public static partial class Extentions { public static void Assert(bool condition) { if (!condition) Environment.Exit(1); } public static string AsString(this IEnumerable<char> source) => new string(source.ToArray()); public static void ForEach<T>(this IEnumerable<T> source, Action<T> action) { foreach (var item in source) action(item); } public static void ForEach<T, _>(this IEnumerable<T> source, Func<T, _> func) { foreach (var item in source) func(item); } public static void ForEach<T>(this IEnumerable<T> source, Action<T, int> action) { var i = 0; foreach (var item in source) action(item, i++); } public static void ForEach<T, _>(this IEnumerable<T> source, Func<T, int, _> func) { var i = 0; foreach (var item in source) func(item, i++); } public static void Repeat(Action action, int count) { for (var i = 0; i < count; i++) action(); } public static void Repeat(Action<int> action, int count) { for (var i = 0; i < count; i++) action(i); } public static IEnumerable<T> Repeat<T>(Func<T> func) { for (var i = 0; ; i++) yield return func(); } public static IEnumerable<T> Repeat<T>(Func<T> func, int count) { for (var i = 0; i < count; i++) yield return func(); } public static IEnumerable<T> Repeat<T>(Func<int, T> func) { for (var i = 0; ; i++) yield return func(i); } public static IEnumerable<T> Repeat<T>(Func<int, T> func, int count) { for (var i = 0; i < count; i++) yield return func(i); } public static void Swap<T>(ref T x, ref T y) { var tmp = x; x = y; y = tmp; } public static (T1[], T2[]) Unzip<T1, T2>( this ICollection<(T1, T2)> source) { var ts1 = new T1[source.Count]; var ts2 = new T2[source.Count]; var i = 0; foreach (var (t1, t2) in source) { ts1[i] = t1; ts2[i] = t2; i++; } return (ts1, ts2); } public static (T1[], T2[], T3[]) Unzip<T1, T2, T3>( this ICollection<(T1, T2, T3)> source) { var ts1 = new T1[source.Count]; var ts2 = new T2[source.Count]; var ts3 = new T3[source.Count]; var i = 0; foreach (var (t1, t2, t3) in source) { ts1[i] = t1; ts2[i] = t2; ts3[i] = t3; i++; } return (ts1, ts2, ts3); } public static (T1[], T2[], T3[], T4[]) Unzip<T1, T2, T3, T4>( this ICollection<(T1, T2, T3, T4)> source) { var ts1 = new T1[source.Count]; var ts2 = new T2[source.Count]; var ts3 = new T3[source.Count]; var ts4 = new T4[source.Count]; var i = 0; foreach (var (t1, t2, t3, t4) in source) { ts1[i] = t1; ts2[i] = t2; ts3[i] = t3; ts4[i] = t4; i++; } return (ts1, ts2, ts3, ts4); } public static IEnumerable<T> Zip<T1, T2, T3, T>( this IEnumerable<T1> first, IEnumerable<T2> second, IEnumerable<T3> thrid, Func<T1, T2, T3, T> resultSelector) { using (var e1 = first.GetEnumerator()) using (var e2 = second.GetEnumerator()) using (var e3 = thrid.GetEnumerator()) { while (e1.MoveNext() && e2.MoveNext() && e3.MoveNext()) yield return resultSelector(e1.Current, e2.Current, e3.Current); } } public static IEnumerable<T> Zip<T1, T2, T3, T4, T>( this IEnumerable<T1> first, IEnumerable<T2> second, IEnumerable<T3> thrid, IEnumerable<T4> fourth, Func<T1, T2, T3, T4, T> resultSelector) { using (var e1 = first.GetEnumerator()) using (var e2 = second.GetEnumerator()) using (var e3 = thrid.GetEnumerator()) using (var e4 = fourth.GetEnumerator()) { while (e1.MoveNext() && e2.MoveNext() && e3.MoveNext() && e4.MoveNext()) yield return resultSelector(e1.Current, e2.Current, e3.Current, e4.Current); } } } #endregion