반응형
https://www.acmicpc.net/problem/25600
25600번: Triathlon
트라이애슬론(Triathlon)이란 라틴어에서 $3$가지라는 의미를 가진 tri와 경기를 뜻하는 athlon의 합성어이다. 우리나라에서는 트라이애슬론 대신 철인 3종 경기로 알려져 있다. 트라이애슬론은 여러
www.acmicpc.net
간단한 구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
참가자 수와 각 참가자의 점수에 대한 변수를 선언 후 입력받습니다.
📔 풀이과정
매 참가자마다 점수를 a * (d + g) 공식으로 구합니다.
a = (d + g) 라면 구한 점수에 2배를 곱해줍니다.
📔 정답출력
구한 점수들 중 가장 큰 값을 출력합니다.
📕 Code
C++
#include <bits/stdc++.h>
using namespace std;
int n, a, d, g;
vector <int> scores;
int main(){
cin >> n;
scores.resize(n);
for(int i = 0; i < n; i++) {
cin >> a >> d >> g;
scores[i] = a * (d + g);
if(a == d + g) {
scores[i] *= 2;
}
}
cout << *max_element(scores.begin(), scores.end());
}
Rust
use std::{cmp, io};
fn main() {
let mut line = String::new();
io::stdin().read_line(&mut line).expect("wrong io");
let n = line.trim().parse::<i64>().unwrap();
let mut ans = 0;
for i in 0..n {
let mut line = String::new();
io::stdin().read_line(&mut line).expect("wrong io");
let numbers: Vec<i64> = line
.split_whitespace()
.map(|num| num.parse::<i64>().unwrap())
.collect();
let a = numbers[0 as usize];
let d = numbers[1 as usize];
let g = numbers[2 as usize];
let mut score = a * (d + g);
if a == d + g {
score *= 2;
}
ans = cmp::max(ans, score);
}
print!("{}", ans);
}
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 25591 : 푸앙이와 종윤이 (0) | 2022.09.20 |
---|---|
(C++, Rust) - 백준(BOJ) 25625 : 샤틀버스 (0) | 2022.09.19 |
(C++) - 백준(BOJ) 15923 : 욱제는 건축왕이야!! (0) | 2022.09.16 |
(C++, Rust) - 백준(BOJ) 15351 : 인생 점수 (0) | 2022.09.15 |
(C++, Rust) - 백준(BOJ) 23802 : 골뱅이 찍기 - 뒤집힌 ㄱ (0) | 2022.09.12 |