東大卒のお金やりくり奮闘記~株、家計、趣味、経済~

東大卒でメーカー勤務の私がセミリタイアするために投資などを頑張っていこうという趣旨で始めたブログです。既婚男性です。株、家計、趣味、経済の話をメインにゆるゆる話します。

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'