#include <stdio.h>

int main()
{
    // a = 다리 위에 있는 학생 수
    // k = 대기중인 학생 수
    // w = 최대 인원
    // b = 다리 구간의 수
    // n = 다리를 건너야 하는 학급 수
    // k = 각 학급별 인원
    int a[104] = { 0 }, w, b, n, k[104];

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

    //1반부터 N반까지 학생 수 입력
    for (int i = 1; i <= n; i++) scanf("%d", &k[i]);

    // 시간 저장
    int t = 0;

    // 첫번째로 대기중인 학급
    int j = 1;

    // 종료 조건 체크
    while (1)
    {

        // 다리 위에 있는 학생 수
        int asum = 0;

        // 현재 다리에 학생이 얼마나 있는지 합계
        for (int i = 1; i <= b; i++)
            asum += a[i];

        // 다리 위에도 학생이 없고, 대기 중인 학급도 없다면 나가기
        if (asum == 0 && j > n)
            break;

        //1분이 흐름.
        t++;

        //다리의 첫 번째 위치에 있는 학생들은 이동이 끝남.
        asum -= a[1];

        // 한 칸씩 왼쪽으로 이동한다.(다리 한 칸 이동)
        for (int i = 2; i <= b; i++) a[i - 1] = a[i];
        // a[b]는 비어있을 것이므로 0으로 채워준다.
        a[b] = 0;

        //만약 대기하는 학급이 있으면 다리 위에 학생이 올라갈 수 있는지 확인
        if (j <= n)
        {
            // x에 다리에 올라올지 정하는 학급을 넣어놓는다.
            int x = k[j];

            // 다리 위에 올라갈 수 있는 경우
            if ((asum + x) <= w) {
                a[b] = x;

                //다음 학급으로 전환.
                j++;
            }
        }
    }
    //시간 출력.
    printf("%d", t);
}

'SFPC > 2022' 카테고리의 다른 글

2022 SFPC pA1  (0) 2023.02.22
2022 SFPC E1  (0) 2023.02.21
2022 SFPC E0  (0) 2023.02.21
2022 SFPC D0  (0) 2023.02.18
2022 SFPC C0  (0) 2023.02.17
2022 SFPC B0  (0) 2023.02.17

'SFPC > 2022' 카테고리의 다른 글

2022 SFPC E1  (0) 2023.02.21
2022 SFPC E0  (0) 2023.02.21
2022 SFPC D1  (0) 2023.02.19
2022 SFPC C0  (0) 2023.02.17
2022 SFPC B0  (0) 2023.02.17
2022 SFPC A0  (0) 2023.02.17

#include <stdio.h>

int main()
{
    printf("49");
}

'SFPC > 2022' 카테고리의 다른 글

2022 SFPC E0  (0) 2023.02.21
2022 SFPC D1  (0) 2023.02.19
2022 SFPC D0  (0) 2023.02.18
2022 SFPC B0  (0) 2023.02.17
2022 SFPC A0  (0) 2023.02.17
2022 SFPC B1  (0) 2023.02.16

#include <stdio.h>

int main()
{
	printf("2\n");
    printf("00:04 11:56");
}

'SFPC > 2022' 카테고리의 다른 글

2022 SFPC D1  (0) 2023.02.19
2022 SFPC D0  (0) 2023.02.18
2022 SFPC C0  (0) 2023.02.17
2022 SFPC A0  (0) 2023.02.17
2022 SFPC B1  (0) 2023.02.16
2022 SFPC A1  (0) 2023.02.03

A0 설명

#include <stdio.h>

int main()
{
	printf("UAGCCGAU");
}

'SFPC > 2022' 카테고리의 다른 글

2022 SFPC D0  (0) 2023.02.18
2022 SFPC C0  (0) 2023.02.17
2022 SFPC B0  (0) 2023.02.17
2022 SFPC B1  (0) 2023.02.16
2022 SFPC A1  (0) 2023.02.03
2022 SFPC pE1 ver.2  (0) 2023.02.02
#include <iostream>

// 입력 : 시간 h, 분 m, 기준값 d
// 출력 : 현재 시간대의 각도가 주어진 사잇각(d)와 같다면 1, 아니면 0
int f (int h, int m, int d) // h = 3, m = 0
{
    // t = h시와 m분을 분으로 환산 // t = 180
    int t = h * 60 + m;

    // t가 홀수면 시침의 회전수에 소수점이 붙기 떄문에 오답이 나오게 된다.
    if (t % 2 == 1)
        return 0;

    // x = 시침이 몇도 도는지 저장(t / 2는 0.5를 분수로 바꾼 것)
    // y = 분침이 몇도 도는지 저장
    // z = x - y의 절댓값 저장
    int x = (t / 2) % 360;
    int y = (t * 6) % 360; 
    int z = abs(x - y);

    // z가 180보다 큰것은 주어진 사잇각의 크기를 초과하므로
    // 360에 z를 뺸 값을 z에 저장
    if (z > 180)
        z = 360 - z;

    if (z == d)
        // 현재 시간의 사잇각이 주어진 사잇각과 
        // 같은 것이므로 1 반환
        return 1;
    else
        // 현재 시간의 사잇각이 주어진 사잇각과 
        // 같지 않은것이므로 0 반환
        return 0;
}

int main()
{
    // d = 사잇각
    /// h, m = 시간과 분
    // cnt = 개수
    int d, h, m, cnt = 0;

    scanf("%d", &d);
    
    // 시간은 0시부터 11시까지 있으니
    // h를 0부터 11까지 돌린다.
    for (h = 0; h < 12; h++)
    {
        // 분은 0분부터 59분까지 있으니
        // m을 0부터 59까지 돌린다.
        for (m = 0; m < 60; m++)
        {
            // f함수에서 참이 나왔다는건 d와 같은 각이라는 뜻이므로
            // cnt를 1 올려준다.
            if (f(h, m, d) == 1) cnt++;
        }
    }
    
    // d와 사잇각이 같은 시각의 개수 출력
    printf("%d\n", cnt);
    
    // 시간은 0시부터 11시까지 있으니
    // h를 0부터 11까지 돌린다.
    for (h = 0; h < 12; h++)
    {
        // 분은 0분부터 59분까지 있으니
       // m을 0부터 59까지 돌린다.
        for (m = 0; m < 60; m++)
        {
            // f함수에서 참이 나왔다는건 d와 같은 각이라는 뜻이므로
            // 시각을 출력해준다.(%02d = 숫자 2개 고정적으로 출력, 한 자리 수는 앞에 0 추가 출력
            // 예:출력값이 8이면 08이 출력된다.)
            if (f(h, m, d) == 1) printf("%02d:%02d\n", h, m);
        }
    }
}

'SFPC > 2022' 카테고리의 다른 글

2022 SFPC C0  (0) 2023.02.17
2022 SFPC B0  (0) 2023.02.17
2022 SFPC A0  (0) 2023.02.17
2022 SFPC A1  (0) 2023.02.03
2022 SFPC pE1 ver.2  (0) 2023.02.02
2022 SFPC pE1 ver.1  (0) 2023.02.02

+ Recent posts