브루트포스 알고리즘

    [BOJ/JAVA] 16958번: 텔레포트

    16958번: 텔레포트https://www.acmicpc.net/problem/16958키워드2차원 평면 위에 N개의 도시가 있다. 일부 도시는 특별한 도시이다. (r1, c1)에 있는 도시에서 (r2, c2)에 있는 도시로 가는 이동 시간은 |r1 - r2| + |c1 - c2|와 같다. 만약, 두 도시가 특별한 도시라면, 텔레포트를 이용해서 이동할 수도 있다. 텔레포트에 걸리는 시간은 T이다.두 도시의 쌍 M개가 주어졌을 때, 최소 이동 시간을 구해보자.구현두 도시 간 거리를 전부 계산하여 cityMatrix에 저장한다.만약 두 도시가 특별한 도시라면 T와 비교하여 더 작은 시간을 저장한다.플로이드-워셜 알고리즘을 이용하여 최소 이동 시간을 구하자.코드import java.io.BufferedRead..

    [BOJ/JAVA] 1198번: 삼각형으로 자르기

    1198번: 삼각형으로 자르기https://www.acmicpc.net/problem/1198키워드볼록 다각형이 있고, 여기서 3개의 연속된 점을 선택해서 삼각형을 만든다. 그 다음, 만든 삼각형을 다각형에서 제외한다. 원래 다각형이 N개의 점이 있었다면, 이제 N-1개의 점으로 구성된 볼록 다각형이 된다. 위의 과정은 남은 다각형이 삼각형이 될 때까지 반복한다.볼록 다각형의 점이 시계 방향순으로 주어진다. 마지막에 남은 삼각형은 여러 가지가 있을 수 있다. 이때, 가능한 넓이의 최댓값을 구하는 프로그램을 작성하시오.구현문제에서는 삼각형을 계속 제거해 나갔지만 결국은 볼록 다각형의 3점으로 만들 수 있는 삼각형 넓이의 최댓값과 동일한 문제이다.N개의 점에서 3개를 선택하여 해당 삼각형의 넓이의 최댓값을 ..

    [BOJ/JAVA] 1711번: 직각삼각형

    1711번: 직각삼각형https://www.acmicpc.net/problem/1711키워드2차원 평면에 N개의 점이 주어져 있다. 이 중에서 세 점을 골랐을 때, 직각삼각형이 몇 개나 있는지를 구하는 프로그램을 작성하시오.구현한 점을 기준으로 다른 두 점을 향한 벡터의 내적이 0이면 직각임을 이용한다.코드import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; public class java_..