문제
접근 방식
방향 정보와 해당 길이는 총 6개가 주어지며 직사각형의 모서리가 파인 육각형의 형태로 참외밭이 주어지기 때문에 입력의 두 방향은 무조건 2개씩 나오게 된다
ex ) 4 2 3 1 3 1 , 1 4 2 3 1 3
여기서 반복되는 3 1 3 1 을 찾는다면 나머지 4 2 에 해당되는 길이를 곱하면 참외밭을 포함하는 직사각형 넓이가 나오고 반복되는 3 1 3 1 의 가운데 1 3 에 해당되는 길이를 곱하면 모서리가 파인 직사각형의 넓이가 나온다
따라서 전체 직사각형에서 파인 직사각형을 뺀 값을 출력한다
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main_2477 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int K = Integer.parseInt(br.readLine());
int directions[] = new int[6];
int distance[] = new int[6];
for(int i=0; i<6;i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
directions[i] = Integer.parseInt(st.nextToken());
distance[i] = Integer.parseInt(st.nextToken());
}
for(int i=0;i<6;i++) {
if(directions[i] == directions[(i+2) % 6] && directions[(i+1) % 6] == directions[(i+3) % 6]) {
System.out.println((distance[(i+4) % 6] * distance[(i+5) % 6] - distance[(i+1) % 6] * distance[(i+2) % 6])*K);
break;
}
}
}
}