본문 바로가기

백준

2991)사나운 개

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