1082사격경기(20점)(테스트용례, 논리분석 첨부)

앞에 쓰다

  • 문제는 간단합니다. 3분 동안 a문제
  • 운동선수의 번호 통과·정형·처리
  • 거리 계산, 제곱과 합치면 된다
  • 테스트 용례

    input : 
    3
    0001 5 7
    1020 -1 3
    0233 0 -1
    
    output : 
    0233 0001
    

    ac 코드

  • 거리 계산, 여분의 제곱
  • #include
    #include 
    using namespace std;
    
    int main()
    {
        int n;
        scanf("%d",&n);
    
        int x,y, cur_id, max_id, min_id;
        double max_dist=0.0, min_dist=10000.0, cur_dist=0.0;
        for(int i=0; i<n; i++)
        {
            scanf("%d%d%d", &cur_id,&x,&y);
            cur_dist = sqrt(x*x+y*y);
            if(cur_dist<min_dist) {
                min_dist = cur_dist;
                min_id = cur_id;
            }
            if(cur_dist>max_dist) {
                max_dist = cur_dist;
                max_id = cur_id;
            }
        }
        printf("%04d %04d",min_id, max_id);
    
        return 0;
    }
    
  • 참조 코드
  • #include 
    using namespace std;
    int main() {
        int n, id, x, y, maxid, maxdis = -1, minid, mindis = 99999;
        cin >> n;
        for (int i = 0; i < n; i++) {
            cin >> id >> x >> y;
            int dis = x * x + y * y;
            if (dis > maxdis) maxid = id;
            if (dis < mindis) minid = id;
            maxdis = max(maxdis, dis);
            mindis = min(mindis, dis);
        }
        printf("%04d %04d", minid, maxid);
        return 0;
    }
    

    좋은 웹페이지 즐겨찾기