0012-A Point in a Triangle
実装の概要
今回はあまり計算式とかを考えずにシンプルに済ませたかったので、java.awt.Polygonクラスを使用しました。これを使えば、三角形に限らず任意の多角形について同様に解くことができます。
public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while(true){ String tmpStr = br.readLine(); if(tmpStr == null){ break; } String[] tmpArray = tmpStr.split(" "); int[] input = new int[8]; for(int i = 0; i < 8; i++){ input[i] = (int)(Double.parseDouble(tmpArray[i])*1000); } int[] x = {input[0],input[2],input[4]}; int[] y = {input[1],input[3],input[5]}; Polygon triangle = new Polygon(x, y, 3); if(triangle.contains(new Point(input[6],input[7]))){ System.out.println("YES"); } else{ System.out.println("NO"); } } } }