PS/BOJ

[백준 BOJ] 16431 베시와 데이지

Jubil 2018. 11. 28. 20:53
반응형

16431_베시와 데이지

링크

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

 

풀이


 

베시는 대각선으로도 이동할 수 있습니다.

베시가 존과 가로로 떨어져 있는 만큼을 a, 세로로 떨어져 있는 만큼을 b라고 했을 때, 존이 이동하는 시간은 max(a, b) – min(a, b) + min(a, b) = max(a, b)입니다.

가로와 세로 중 더 적은 부분은 대각선으로 이동하면서 상쇄됩니다.

 

데이지는 가로와 세로로만 이동하니까, 똑같이 뒀을 때 a+b입니다.

 

베시 = max(a,b)

데이지 = a+b

 

둘 중 더 작은 소를 출력하면 됩니다. 같으면 tie를 출력합니다.

 

코드

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

//16431_베시와 데이지

#include <cstdio>

#include <algorithm>

#include <math.h>

using namespace std;

 

int br, bc, dr, dc, jr, jc;

int brr, bcc, drr, dcc;

int bgo, dgo;

 

int main() {

    scanf("%d %d"&br, &bc);

    scanf("%d %d"&dr, &dc);

    scanf("%d %d"&jr, &jc);

 

    brr = abs(jr - br);

    bcc = abs(jc - bc);

    drr = abs(jr - dr);

    dcc = abs(jc - dc);

 

    bgo = max(brr, bcc);

    dgo = drr + dcc;

 

    if (bgo < dgo) printf("%s\n""bessie");

    else if (dgo < bgo) printf("%s\n""daisy");

    else printf("%s\n""tie");

 

    return 0;

}

Colored by Color Scripter

cs



반응형