반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 16431번 베시와 데이지 자바(JAVA)
1) 문제번호 : 16431번
2) 문제 출처
https://www.acmicpc.net/problem/16431
2. 문제
농부 존은 소 베시와 소 데이지를 키우고 있습니다.
두 소는 자유롭게 1,000 × 1,000 2차원 격자 목초지를 누비며 놀고 있습니다. 농부 존이 종을 치면 베시와 데이지가 농부 존이 있는 곳으로 달려갑니다.
베시가 B에 있을 때 1초 후에 움직일 수 있는 칸과 데이지가 D에 있을 때 1초 후에 움직일 수 있는 칸을 나타낸 그림
베시는 1초 후에 꼭짓점을 공유하는 8개의 칸 중 하나로 이동할 수 있고 데이지는 1초 후에 변을 공유하는 4개의 칸 중 하나로 이동할 수 있습니다. 칸들은 충분히 넓어서 칸 하나에도 베시와 데이지 그리고 존이 같이 서 있을 수 있습니다.
베시와 데이지 두 소 모두 최단 경로로 존에게 갈 때 어떤 소가 더 빨리 도착할까요?
3. 제약사항
4. 입력
첫 번째 줄에 베시의 좌표 Br, Bc (1 ≤ Br, Bc ≤ 1,000) 이 주어집니다.
두 번째 줄에 데이지의 좌표 Dr, Dc (1 ≤ Dr, Dc ≤ 1,000) 이 주어집니다.
세 번째 줄에 존의 좌표 Jr, Jc (1 ≤ Jr, Jc ≤ 1,000) 이 주어집니다.
처음에 존이 있는 칸에는 베시와 데이지가 없음이 보장됩니다.
5. 출력
첫 번째 줄에 베시가 더 빨리 도착하면 'bessie', 데이지가 더 빨리 도착하면 'daisy', 동시에 도착하면 'tie' 를 출력합니다.
6. 풀이
- 이 문제에서도 각 좌표의 차이에 절댓값에 관한 문제다.
7. 소스 코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//베시 입력
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int bx = Integer.parseInt(st.nextToken());
int by = Integer.parseInt(st.nextToken());
//데이지 입력
st = new StringTokenizer(br.readLine(), " ");
int dx = Integer.parseInt(st.nextToken());
int dy = Integer.parseInt(st.nextToken());
//존 입력
st = new StringTokenizer(br.readLine(), " ");
int jx = Integer.parseInt(st.nextToken());
int jy = Integer.parseInt(st.nextToken());
System.out.println(work(bx, by, dx, dy, jx, jy));
}
private static String work(int bx, int by, int dx, int dy, int jx, int jy) {
String result = "";
int bessie = Math.max((Math.abs(bx - jx)), (Math.abs(by - jy)));
int daisy = Math.abs(dx - jx) + Math.abs(dy - jy);
if(bessie > daisy) result = "daisy";
if(bessie < daisy) result = "bessie";
if(bessie == daisy) result = "tie";
return result;
}
}
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 21603번 K 2K 게임 자바(JAVA) (0) | 2022.03.27 |
---|---|
[백준 알고리즘] 백준 24724번 현대모비스와 함께하는 부품 관리 자바(JAVA) (0) | 2022.03.27 |
[백준 알고리즘] 백준 5073번 삼각형과 세 변 자바(JAVA) (0) | 2022.03.27 |
[백준 알고리즘] 백준 6131번 완전 제곱수 자바(JAVA) (0) | 2022.03.24 |
[백준 알고리즘] 백준 14924번 폰 노이만과 파리 자바(JAVA) (0) | 2022.03.22 |
[백준 알고리즘] 백준 14470번 전자레인지 자바(JAVA) (0) | 2022.03.22 |
[백준 알고리즘] 백준 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 자바(JAVA) (1) | 2022.03.22 |
[백준 알고리즘] 백준 2997번 네 번째 수 파이썬(Python) (0) | 2022.03.15 |
최근댓글