조회 수 164 추천 수 0 댓글 0

#include <stdio.h>
//#include <stdlib.h>


int num_count(int a, int b, int d, int n);
int main(void)
{
	int a, b, d, n;
	int num;
	//a=성체가 되는 날  b=더이상 개체를 만들어내지 않는 날 d=죽는 날 n=날짜

	scanf(" %d %d %d %d", &a, &b, &d, &n);

	num=num_count(a, b, d, n);

	printf("%d", num%1000);

	return 0;
}
int num_count(int a, int b, int d, int n)
{
	int cnt=0, t[10001]={0}, temp;
	int i, j;

	t[0]=1;
	cnt+=1;

	for(i=1; i<=n; i++)
	{
		temp=t[0]%1000;

		if(i!=1)
			t[0]=0;

		for(j=d; j>=b; j--) //더이싱 새 개체를 만들어 내지 않는 기간부터 죽는 날짜까지
		{
			t[j]=t[j-1]%1000;
		}
		cnt-=t[d]; //죽은 개체 수만큼 빼주기

		for(j=b-1; j>=a; j--) //성체가 되어 새 개체를 만들어내기 시작하는 구간
		{
			if(j!=1)
				t[j]=t[j-1]%1000;
			else
				t[j]=temp;

			t[0]+=t[j]%1000;
			cnt+=t[j]; //새로 태어난 개체 수만큼 더하기
		}

		for(j=a-1; j>1; j--) //성체가 되기 전
		{
			t[j]=t[j-1]%1000;
		}

		t[1]=temp;
		if(i==1)
			t[0]-=temp;

		//for(j=0; j<=d; j++)
		//	t[j]%=1000;
		cnt%=1000;
		/*printf("%3d 일째: ", i); 
		for(j=0; j<=d; j++)
		{
			 printf("[%d]- %2.0f    ", j, t[j]);
		}
		printf("\n");
		printf("cnt=%.0f\n", cnt);
		system("pause");*/
	}

//	while(cnt>1000) cnt=cnt-1000;

	return cnt;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 568
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1343
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2652
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10711
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4987
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8597
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 19233
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 38129
109 짝수 홀수 갯수구하기(승민) 승민 2016.03.12 1202
108 정올 기초다지기(함수1-자가진단7) killerjack 2014.06.07 1207
107 정올 기초다지기(aA006-배열2 6) killerjack 2014.05.31 1210
106 별표 잡아먹기 killerjack 2014.05.17 1211
105 정올 - 실력키우기 - 색종이(고)(1124) 조정미 2018.02.10 1269
104 세자리수 곱해서 각자리수 곱하기(승민) 승민 2016.08.27 1276
103 정올 기초다지기(aA002-배열2 2) killerjack 2014.05.31 1289
102 정올 기초다지기(aA009-배열2 9) killerjack 2014.05.31 1323
101 정올 - 실력키우기 - 최대공약수와 최소공배수(1658) 조정미 2018.01.02 1325
100 정올 기초다지기(함수3-자가진단4)[완성] killerjack 2014.08.16 1330
99 dev C++ 입력키값 숫자로 알아보기 killerjack 2014.06.07 1335
98 정올 - 실력키우기 - 오목(1733) 조정미 2018.01.20 1347
97 별로 다이아 껍데기만 출력하기 killerjack 2014.05.03 1365
96 시계~~~ killerjack 2014.05.17 1378
95 정올 기초다지기(함수1-자가진단8) killerjack 2014.06.07 1391
94 두 실수 사이 정수 갯수 구하기 killerjack 2014.08.16 1420
93 주사위 굴리기 갓초딩 2017.03.25 1426
92 입력한 숫자 이하 짝수만 출력하기(승민) 승민 2016.03.12 1432
91 정올 기초다지기(aA003-배열2 3) killerjack 2014.05.31 1433
Board Pagination Prev 1 ... 16 17 18 19 20 21 22 23 24 25 26 Next
/ 26