Language/C C++

[2021 ICPC Korea] I. Sport Climbing Combined - 풀이 x

nineil91 2022. 9. 26. 16:32

 

https://www.acmicpc.net/problem/23246

 

23246번: Sport Climbing Combined

입력은 표준입력을 사용한다. 첫째 줄에 선수의 명수를 나타내는 양의 정수 $n$ ($3 \le n \le 100$)이 주어진다. 이어 $n$개의 줄 각각에 네 정수 $b_i$, $p_i$, $q_i$, $r_i$가 주어지는데, $b_i$는 $i$번째 선수

www.acmicpc.net

문제 해석

선수 n명의 등번호, 세 종목에서 거둔 순위 제공. 세 순위를 모두 곱하여 숫자가 낮은 선수가 종합 순위에서 우위

-> 금, 은, 동메달을 받을 선수를 결정하는 프로그램 작성

* 예외처리

1. 두 선수의 곱한 점수가 같을 경우 : 세 종목 순위의 합산 점수가 낮은 선수가 이김

2. 두 선수의 곱한 점수와 합산이 모두 같은 경우 : 등번호가 낮은 선수가 이김

 

입력 해석

입력은 두가지 종류의 입력을 받는다. 맨 첫줄에 선수 명수 n이 들어오고, 두번째 줄 이후부터 n개의 선수 정보가 들어온다. 이 선수 정보는 "선수등번호 리드순위 스피드순위 볼더링순위"로 나열된다.

 

출력 해석

금, 은, 동메달을 받을 선수의 등번호를 나타내는 세 정수를 순서대로 한출에 출력한다.

* 문제에서 모르는것 : 표준 입출력이란? C++ iostream

더보기

c++에서는 표준 입출력을 사용하기 위해 iostream을 쓴다. 표준입력은 std::cin, 표준출력은 std::cout을 사용한다.

std::in >> 입력 받을 값;

std::cout<<출력 값;

 

예시 : 간단히 값을 입력받아 출력하는 프로그램

#include <iostream>

int main()
{
    int a, b;
    std::cin >> a >> b;
    
    std::count << "a + b = " << a + b << std::endl;
}

입력 : 1 5

출력 : a + b = 6

*문제 풀이에 사용하는 자료형 : map

더보기

map<key, value>map1;

key와 value로 이루어짐. key의 중복을 허용하지 않는다. 

#include <iostream>
#include <map>

sudo 코드 작성

m << 선수 명 수

선수 명수 만큼 반복 : 
	map<int, int> << (등번호, 종목1*종목2*종목3)
선수 명수 만큼 반복 : 
	sort map.value

 

'Language > C C++' 카테고리의 다른 글

[cpp] auto형 변수  (0) 2021.06.23
[cpp] namespace란?  (0) 2021.06.23
[cpp] 시작하기  (0) 2021.06.23
[C언어] 사용자 정의 자료형  (0) 2021.02.05
[C언어] 배열과 포인터  (0) 2021.02.05