競プロをしながら、節約と株式投資でセミリタイアを目指す東大卒のブログ

東大卒でメーカー勤務の私がセミリタイアするために投資や競プロを頑張っていこうという趣旨で始めたブログです。独身男性です。お金の大切さや今後の生き方も併せて伝えられたらと思います。

ABC171で書いたコード

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

namespace debug
{
    class main
    {
        static void Main(string args)
        {
            //問題クラスを展開
            ProgramE a = new ProgramE();
            a.main();//実行する

        }

    }
    //ABC170
    class ProgramA
    {
        public void main()
        {
            //入力
            string s = Console.ReadLine();

            //int型で96より大きければ小文字、それ以外は大文字
            if (s[0] > 96)
                Console.WriteLine("a");
            else
                Console.WriteLine("A");

        }
    }

    class ProgramB
    {
        public void main()
        {
            //入力
            string s = Console.ReadLine().Split(' ');
            int n = int.Parse(s[0]);
            int k = int.Parse(s[1]);

            string t = Console.ReadLine().Split(' ');
            int a = new int[n];
            for (int i = 0i < ni++)
                a[i] = int.Parse(t[i]);

            //aをソート
            Array.Sort(a);

            int ans = 0;
            //k番目までを取り出して足す
            for (int i = 0i < ki++)
                ans += a[i];

            //答出力
            Console.WriteLine(ans);


        }
    }

    class ProgramC
    {
        public void main()
        {

            //入力
            long n = long.Parse(Console.ReadLine());
            long n2 = n;

            List<longlist = new List<long>();
            long t = 100;

            while (n2 != 0)
            {
                n2 -= 1;//1引いておく
                list.Add(n2 % 26);//リストに追加
                n2 /= 26;//26で割る
            }

            //後ろから取り出していく
            for (int i = 0i < list.Counti++)
            {
                Console.Write*1;
            }

        }
    }

    class ProgramD
    {
        public void main()
        {

            //入力
            long n = long.Parse(Console.ReadLine());
            string s = Console.ReadLine().Split(' ');


            long a = new long[100000];//100000までの要素数を入れる配列
            //要素数を足し合わせる
            for (int i = 0i < ni++)
                a[long.Parse(s[i]) -1]++;

            //あらかじめ和をもとめる
            long sum = 0;
            for (int i = 0i < ni++)
                sum += long.Parse(s[i]);

            long q = long.Parse(Console.ReadLine());


            //クエリごとに判定
            for (int i = 0i < qi++)
            {
                string t = Console.ReadLine().Split(' ');
                sum -= a[long.Parse(t[0]) - 1] * long.Parse(t[0]);//Bi*a[Bi]を引く
                sum += a[long.Parse(t[0]) - 1] * long.Parse(t[1]);//Ci*a[Bi]を足す
                a[long.Parse(t[1]) - 1] += a[long.Parse(t[0]) -1];//Ciの要素数にa[Bi]分を足す
                a[long.Parse(t[0]) - 1] = 0;//Biの要素数は0になる
                //答え出力
                Console.WriteLine(sum);


            }

           
        }
    }

    class ProgramE
    {

        public void main()
        {
            //入力
            int n = int.Parse(Console.ReadLine());
            string s = Console.ReadLine().Split(' ');
            long[] a = new long[n];

            for (int i = 0i < ni++)
                a[i] = long.Parse(s[i]);

            //入力の排他的論理和(S)を求める
            long sum = a[0] ^ a[1];
            for (int i = 2i < ni++)
                sum = sum ^ a[i];

            //S^aiが答え
            for (int i = 0i < ni++)
                Console.Write((sum ^ a[i]) + " ");

            
        }

        
    }
 
}





*1:char)(list[list.Count - 1 - i] + 'a'