[editorial] ACM-ICPC 2008 Seoul Regional Problem A - Heptathlon

  • VOCList
    VOCList

    문제 설명
    어떤 선수가 track분야와 field분야로 나뉜 운동 대회에 출전하였습니다. 총 7개 종목을 겨루고 각각의 종목은 track분야거나 field분야로 구분되는데요. A, B, C는 사전에 문제에서 상수로 주어지고 P는 해당 종목에서 그 선수의 performance 수치입니다. 해당 종목의 performance는
    • Score = ⎣A×(B− P)^c ⎦ for Running Events
    • Score = ⎣A×(P − B)^c ⎦ for Field Events
    위 공식을 통해서 점수로 환산됩니다. 7개 종목에 대한 P가 주어질 시 이 선수의 총 점수 합을 구하시오.
    풀이
    긁어보세용. 숨길줄을 몰라서 ㅠ_ㅠ
    문제를 해결하는데 특별한 알고리즘은 필요하지 않았습니다. 문제에서 시키는 대로 연산을 하면 되네요. Running event과 Field event를 얼마나 간단하게 구분하느냐가 빠른 코딩의 관건이 될 것 같습니다. 공식에서 원하는 내림 처리는 int로 cast하여 ans에 대입하는 과정에서 자연스레 이루어지게 됩니다~

    #include <cstdio>
    #include <cmath>
    double a[7]={9.23076, 1.84523, 56.0211, 4.99087, 0.188807, 15.9803, 0.11193};
    double b[7]={26.7, 75, 1.5, 42.5, 210, 3.8, 254};
    double c[7]={1.835, 1.348, 1.05, 1.81, 1.41, 1.04, 1.88};
    bool isField[7]={0, 1, 1, 0, 1, 1, 0};
    int main(void)
    {
        int t;
        scanf("%d", &t);
        while(t--)
        {
            int ans=0;
            for(int i=0;i<7;i++)
            {
                int temp;
                scanf("%d", &temp);
                if(isField[i]) ans+=a[i]*pow(temp-b[i], c[i]);
                else ans+=a[i]*pow(b[i]-temp, c[i]);
            }
            printf("%d\n", ans);
        }
        return 0;
    }
    

    헤헤 고수분들 다른 문제 에디토리얼좀 굽신굽신 ㅠㅠ

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]


    15년 전
5개의 댓글이 있습니다.
  • Being
    Being

    숨기는건 따옴표 모양의 [spoiler="인용구"]태님 바보[/spoiler]로 하는 거예요 ..나 삐져뜸


    15년 전 link
  • kcm1700
    kcm1700

    [spoiler="느낌표"]
    [/spoiler]


    15년 전 link
  • JongMan
    JongMan

    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ승리의kcm


    15년 전 link
  • Being
    Being

    저는 어떤 수정도 하지 않았읍니다 오해입니다


    15년 전 link
  • Kureyo
    Kureyo

    여러분 오해입니다 허허허


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