PS/BOJ

[백준 BOJ] 10250 ACM 호텔

Jubil 2018. 5. 13. 15:11
반응형

10250_ACM 호텔

 

링크

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

 

풀이


 

일단 이렇게 사람들이 배정을 받는다는 사실은 눈치 챘을 것입니다.

 


 

단순하게 예제만 본다면 402410%6이고 뒤에 210/6+1이고, 12031272%30이고, 372/30+1이라고 생각할 수 있습니다.

이렇게 생각했을 때 일반화 한다면, h, w, n을 받았을 때, n%hn/h+1을 출력하면 될 것 같습니다.

 

하지만 이 문제에서 주의할 게 2가지 있습니다.

1)    꼭대기 층일 때 (n%h0일 때) 이때는 값이 다르게 됩니다.

2)    출력할 때, YXX, YYXX로 출력해야 하는데 X가 한 자리이면 앞에 0을 붙여야한다.

ex) 11-> 11(X) 101(O)

 

이것만 주의해서 분류해서 코드를 짜면 됩니다.

 

 

코드

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

//10250_ACM 호텔

#include <stdio.h>

 

int main() {

    int T;

    int h, w, n;

    int i;

 

    scanf("%d"&T);

 

    for (i = 0; i < T; ++i) {

        scanf("%d %d %d"&h, &w, &n);

 

        if (n % h) {                //꼭대기 층이 아닐 

            if (n / h + 1 >= 10)    //X  자리일 

                printf("%d%d\n", n % h, n / h + 1);

            else                    //X  자리일 

                printf("%d0%d\n", n % h, n / h + 1);

        }

 

        else {                        //꼭대기 층일 

            if (n / h >= 10)        //X  자리일 

                printf("%d%d\n", h, n / h);

            else                    //X  자리일 

                printf("%d0%d\n", h, n / h);

        }

    }

}

Colored by Color Scripter

cs

 


 



생각이 짧았습니다.

1~n층을 0~n-1층으로 바꿔주면 나누지 않고도 풀 수 있겠네요.

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

//10250_ACM 호텔

#include <stdio.h>

 

int main() {

    int T;

    int h, w, n;

    int i;

 

    scanf("%d"&T);

 

    for (i = 0; i < T; ++i) {

        scanf("%d %d %d"&h, &w, &n);

 

        if ((n - 1/ h + 1 >= 10)        //X  자리일 

            printf("%d%d\n", (n - 1) % h + 1, (n - 1/ h + 1);

        else                             //X  자리일 

            printf("%d0%d\n", (n - 1) % h + 1, (n - 1/ h + 1);

    }

 

    return 0;

}

Colored by Color Scripter

cs



반응형

'PS > BOJ' 카테고리의 다른 글

[백준 BOJ][DP] 11727 2xn 타일링 2  (5) 2018.05.27
[백준 BOJ][DP] 11726 2xn 타일링  (0) 2018.05.27
[백준 BOJ] 1152 단어의 개수  (2) 2018.05.16
[백준 BOJ] 14584 암호 해독  (0) 2018.05.13
[백준 BOJ] 1933 분수찾기  (0) 2018.05.13