티스토리 뷰

>문제

www.acmicpc.net/problem/9655

 

9655번: 돌 게임

상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.

www.acmicpc.net

> 핵심

규칙찾기

>풀이과정

처음에 보고 와 막막하다.. 생각했는데

경우의 수를 적어보다 보니까 매우 쉬운 규칙성을 발견해서 아주 쉽게 풀 수 있었다;;

 

그 규칙은 A, B 순서대로 돌을 가져간다고 했을때

 

돌의 개수가 짝수이면 반드시 A가 이기고

돌의 개수가 홀수이면 반드시 B가 이긴다.

 

돌을 한개 가져가나 세개 가져가나 A는 반드시 짝수 위치에 오게 되므로 돌의 개수가 짝수이면 반드시 A가 이기는 게임인것이다

 

베스킨라빈스 31 게임을 할때도 1개와 3개 중에서 뽑아갈 수 있다고 조건을 건다면 나중에 시작하는 사람이 반드시 이긴다.

실제로 할때는 1~3개중에서 골라가니까 그렇게는 안된다 ㅎ

 

>깨달은점

이것도 dp문제라길래 풀어봤는데 굳이 dp를 쓸 필요는 없는 것 같다.

사실 여기서 어떻게 dp를 적용해야 하는지도 모르겠다..ㅎ

>코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    int n;

    scanf("%d", &n);
    if (n % 2 == 1)
        printf("SK\n");
    else
        printf("CY\n");
    return 0;
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 30 31
글 보관함