yokobuttonの不定期で競技プログラミングをするブログ

不定期で解けた競技プログラミングコンテストの問題を載せています。

AtCoder Beginner Contest 246 A - Four Points

問題の要約
 xy平面上に長方形がある。この長方形の各辺はx軸またはy軸に平行であり、面積は0ではない。
 この長方形の4つの頂点のうち異なる3つの頂点の座標(x1,y1),(x2,y2),(x3,y3)が与えられるので、残る1つの頂点の座標を求めよ。
制約
 -100<=xi,yi<=100
入力
 x1 y1
 x2 y2
 x3 y3
考え方
 1,xとyは分離して考えることができる。
 2,x軸またはy軸に平行な辺を持つということは、x座標が同じ頂点が2組あるということ(y座標も同じ)。
  x1とx2が同じならばx3が残りの頂点のx座標と同じ座標
  x1とx3が同じならばx2が残りの頂点のx座標と同じ座標
  x2とx3が同じならばx1が残りの頂点のx座標と同じ座標
 3,y座標も同じ

実際のプログラム
#include<iostream>


using namespace std;

int main(){
  int x1,y1;
  int x2,y2;
  int x3,y3;
  cin >> x1 >> y1;
  cin >> x2 >> y2;
  cin >> x3 >> y3;
  
  int x;
  if(x1 == x2){
    x = x3;
  }else if(x1 == x3){
    x = x2;
  }else if(x2 == x3){
    x = x1;
  }
  
  int y;
  if(y1 == y2){
    y = y3;
  }else if(y1 == y3){
    y = y2;
  }else if(y2 == y3){
    y = y1;
  }
  
  cout << x << " " << y << endl;
  
  return 0;
}