ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

AtCoder Beginner Contest 188 B - Orthogonality

在宅勤務だと刺激のない日々ですね、ねむーです。

今回はAtCoder(https://atcoder.jp/contests/abc188/tasks/abc188_b)にて開催されました、AtCoder Beginner Contest 188 B問題「B - Orthogonality」の問題と僕との戦闘記です。

0.はじめに

今回も、プログラミング言語C#を使用しています。

1.問題文

2 つの N 次元ベクトル A= ( A 1 , A 2 , A 3 , … , A N ) , B= ( B 1 , B 2 , B 3 , … , B N ) が与えられます。 A と B の内積が 0 かどうかを判定してください。 すなわち、 A 1 B 1 + A 2 B 2 + A 3 B 3 + ⋯ + A N B N= 0 かどうかを判定してください。

2.制約

  • 1 ≤ N ≤ 100000
  • − 100 ≤ A i ≤ 100
  • − 100 ≤ B i ≤ 100
  • 入力に含まれる値は全て整数である

3.入出力例

  • 入力
3
1 3 5
3 -6 3
  • 出力
Yes

4.初見の感想

  • ループで内積を計算する

5.学びポイント

  • 特になし

6.コードと簡単な解説

using System;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            int N = int.Parse(Console.ReadLine());
            String[] input_A = Console.ReadLine().Split();
            String[] input_B = Console.ReadLine().Split();
            int ans = 0;
            for(int i = 0; i < N; i++)
            {
                ans += int.Parse(input_A[i]) * int.Parse(input_B[i]);
            }
            if (ans == 0)
            {
                Console.WriteLine("Yes");
            }
            else { Console.WriteLine("No"); }
        }
    }
}

7.最後に

シンプルに解けて良かったです。