땅콩 (2) (DP)

3883 단어 dp
시한: 1000ms 메모리 제한: 10000K 총 시한: 3000ms
설명:
노동절 연휴 다음날 톰과 제리가 창고를 산책하던 중 땅콩 한 무더기를 발견했다.이번에 Tom은 땅콩 분배 규칙을 다음과 같이 제정했다.
1. 톰과 제리는 번갈아 더미에서 땅콩 알갱이를 꺼내 먹는다. k는 1, 5, 10의 임의의 숫자가 될 수 있다.
2. 규칙의 공평성을 나타내기 위해 Jerry는 선취 또는 후취를 선택할 수 있다.
Jerry는 물론 마지막 땅콩 한 알이 Tom에게 먹히기를 원했다.Jerry가 목적을 달성하기 위해 먼저 취해야 하는지 나중에 취해야 하는지 계산해 보세요.
입력:
이 문제에는 여러 개의 측정 예가 있는데 각 측정 예의 입력은 하나의 정수 n이고 n은 0보다 크면 1000보다 작으며 땅콩의 수량을 대표한다.
n은 입력이 끝났음을 의미하며 처리할 필요가 없습니다.
출력:
각 측정 예제는 별도의 행에 정수를 출력합니다. Jerry는 출력 1을 먼저 가져옵니다.Tom에서 출력 0을 먼저 가져옵니다.
샘플 입력:
1
2
3
4
0
출력 예제:
0
1
0
1
#include<stdio.h>

int List[1001]={0};//   i       (List[0]  )

void search()

{    

    for(int i=1;i<=10;i++)//1~10            

    {                     //    ; List[i]=1,   List[i-1]=0,List[i-5]=0

        if(i%2==0)    List[i]=1;

        else    List[i]=0;

    }

    for(i=11;i<=1000;i++)

    {

        if(List[i-1]==1 &&List[i-5]==1 &List[i-10]==1)

            List[i]=0;//   1,5,10    Jerry     ,    Tom  ,  Tom   ,Jerry   

        else 

            List[i]=1;//  Tom  Jerry  , Jerry  Jerry  (   ?),   Jerry  

    }

}

int main()

{

    int n;

    search();

    scanf("%d",&n);//       

    while(n)

    {        

        printf("%d
",List[n]); scanf("%d",&n); } return 0; }

좋은 웹페이지 즐겨찾기