노력만이 살길!/알고리즘

[SWEA][JAVA] 2477 참외밭

갱스타 2022. 3. 1. 00:46

https://www.acmicpc.net/problem/2477

 

2477번: 참외밭

첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지

www.acmicpc.net

자바 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import java.util.StringTokenizer;

//https://www.acmicpc.net/problem/2477
public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        List<int[]> list = new LinkedList<>();
        int arr[] = new int[5];
        for (int i = 0; i < 6; i++) {
            st = new StringTokenizer(br.readLine());
            list.add(new int[]{Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken())});
        }
        while (true){
            if (!((list.get(0)[0] == list.get(2)[0])&&(list.get(3)[0]==list.get(1)[0]))) {
                int temp[] = list.remove(0);
                list.add(temp);
            }
            else{
                break;
            }
        }
        int result = (list.get(4)[1] * list.get(5)[1] - list.get(1)[1] * list.get(2)[1])*N;
        System.out.println(result);

    }
}