1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 行列計算メニュー(言語選択)
  4. 問題一覧 Java編
  5. ベクトルの応用 2 Java編

行列計算メニューのサムネイル
ベクトルの応用 2 Java編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

ベクトルの内積を用いると 2 つの線分(ベクトル)が直交か(垂直か)を判定することができます。  
ベクトルの内積が 0 のとき、2 つの線分は直交しています。

2 次元ベクトル a = (a_1, a_2) と b = (b_1, b_2) が与えられます。
これらはそれぞれ、原点と座標 a, b を端点とする平面上の線分を表しています。
2 つの線分が直交しているかを判定し、直交しているなら Yes、していないなら No を出力してください。

例えば、入力例 1 は次のような線分を表しています。



入力例 2 は次のような線分を表しています。



入力例 3 は次のような線分を表しています。

入力される値

a_1 a_2
b_1 b_2


・1 行目ではベクトル a が空白区切りで与えられます。
・2 行目ではベクトル b が空白区切りで与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

2 つのベクトルが直行しているかを判定し、直交しているなら Yes、していないなら No を出力してください。
末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて, 以下の条件をみたします

・入力はすべて整数
・-10^3 ≦ a_1, a_2, b_1, b_2 ≦ 10^3

入力例1

0 1
1 0

出力例1

Yes

入力例2

2 3
3 -2

出力例2

Yes

入力例3

-1 3
-4 -4

出力例3

No

問題一覧へ戻る

ページの先頭へ戻る