c에서 인풋을 받아오는데 시간 초과가 나요

  • Elevista
    Elevista
    #include<stdio.h>
    int  temp = 0, noble1 = 0, noble2 = 0;
    int  caseNum = 1;
    int  nobleNum = 0;
    int  eventNum = 0;
    char input;
    int main() {
        scanf("%d", &caseNum);
        while (caseNum--) {
            scanf("%d %d", &nobleNum, &eventNum);
            nobleNum-=2;
            while (nobleNum--) {
                    scanf("%d %d", &noble1, &noble2);
            }
            while (eventNum--) {
                scanf("%c", &input);
                if(input=='T'){
                    scanf("%d", &temp);
                }else {
                    scanf("%d %d", &noble1, &noble2);
                }
            }
        }
        return 0;
    }
    

    백년 전쟁 문제 풀고 있는데 https://algospot.com/judge/problem/read/THE100YEARSWAR
    오로지 scanf만 넣어서 돌려봐도 시간초과가 나네요.
    마지막 라인 입력을 기다리는걸까요? 왜 그럴까용?

    예제 입력
    1
    5 7
    1 3
    2 4
    3 5
    T 5
    Q 5 2
    T 3
    Q 5 2
    T 3
    Q 5 2
    Q 1 2

    짠 알고리즘은 시도도 못해보고..
    인풋 제대로 받는게 젤 어렵네요 ㅠ 도와주세요


    9년 전
3개의 댓글이 있습니다.
  • kriii
    kriii

    입력이 제대로 받아지는지 체크해봐주세요.

    %c입력은 newline을 받을 수 있어서 주의를 요합니다.


    9년 전 link
  • Elevista
    Elevista

    아..! 그렇게 되는군여..!


    9년 전 link
  • Elevista
    Elevista

    %s로 해결봤습니다 감사합니다


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.