https://www.acmicpc.net/problem/2991
개1은 시간 a동안 짖고 b동안 쉬며 개2는 시간 c동안 짖고 d동안 쉰다.
개들에게도 짖는 주기가 있다.
이 주기는 펑크없이 쭉 반복되기 때문에 배달원이 도착할 때 이 주기 안에 있을 수 밖에 없다.
배달원이 도착한 시간을 t라 할 때 주기 안에 배달원이 도착한 시점(h라 하자)은 h = t%(a+b)이다.
0<h<=a이면 배달원은 개가 짖는 시간에 도착한 것이고 a<h<=b이면 개가 자는 시간에 도착한 것이다.
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 | #include<stdio.h> int main() { int a, b, c, d; int arrive[3]; int cntBark = 0; int point; scanf("%d %d %d %d",&a,&b,&c,&d); for (int i = 0; i < 3;i++) { scanf("%d",&arrive[i]); } for (int i = 0; i < 3;i++) { point = arrive[i] % (a+b); if (point > 0 && point <= a) cntBark++; point = arrive[i] % (c+d); if (point > 0 && point <= c) cntBark++; printf("%d\n",cntBark); cntBark = 0; } return 0; } | cs |
'백준' 카테고리의 다른 글
1004)어린 왕자 (0) | 2019.03.01 |
---|---|
14910)오르막 (0) | 2019.02.26 |
2210)숫자판 점프 (0) | 2019.02.23 |
6679)싱기한 네 자리 숫자 (0) | 2019.02.23 |
2740)행렬 곱셈 (0) | 2019.02.21 |