반응형
C++
- 좀 더 세련된 풀이를 하고싶었지만 귀차니즘은 이길 수 없었다!
#include <iostream>
using namespace std;
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0);
int N, S, R, K;
cin >> N >> S >> R;
/*************************************
N : 팀의 수 (2 ≤ N ≤ 10)
S : 카약이 손상된 팀의 수 (1 ≤ S)
R : 카약을 하나 더 가져온 팀의 수 (R ≤ N)
K : 카약을 하나 더 가져온 팀 번호.
**************************************/
int s[S];
// 카약이 고장난 팀을 저장할 배열
for (int i = 0; i < S; i++)
cin >> s[i];
// 카약을 하나 더 가져온 팀을 하나씩 받으며
for (int i = 0; i < R; i++)
{
cin >> K;
// 같은 팀 번호를 우선적으로 배정하고
for (int j = 0; j < S; j++)
if (s[j] == K)
{
S--;
s[j] = 99;
K = 999;
break;
}
// 양 옆팀 중에 부서진 팀이 있다면 배정.
for (int c : s)
if (abs(c - K) < 2)
{
S--;
break;
}
}
cout << (S < 0 ? 0 : S);
}
반응형
'Algorithm > Greedy Algorithm' 카테고리의 다른 글
[ BOJ 6550 ] S5 UCPC는 무엇의 약자일까? { C++ } (0) | 2022.06.28 |
---|---|
[ BOJ 6550 ] S5 부분 문자열 { C++ } (0) | 2022.06.27 |
[ BOJ 3135 ] S5 라디오 { C++ } (0) | 2022.06.26 |
[ BOJ 2828 ] S5 사과 담기 게임 { C++ } (0) | 2022.06.25 |