๐ ๋งํฌ
https://www.acmicpc.net/problem/11968
๐คฏ ํ์ค ํ๊ธฐ
๋๊ฐ ์นด๋ ์์๋ฅผ ๋ฏธ๋ฆฌ ์๊ณ .. ๋ถ๋ฒ ์๋ ?
๐คท ๋ฌธ์
๐ฉ๐ป ํ์ด
์์ฒญ ์์ ์ ํ๋ ธ๋ค๊ฐ ์ค๋ ๊ฐ๋ฐํ๊ธฐ ์ซ์ด์ ๋ค์ ํ์ด๋ณด์๋ค.
๋ฌธ์ ๊ฐ ์์ด์ง๋ง ๊ฐ๋จํ ํด์ํด๋ณด๋ฉด
elsie ์ bessie ๊ฐ 1~2*round ๊ฐ ์ ํ ์นด๋๋ฅผ ๊ฐ์ง๊ณ ๋์ด ๋ฐ์ฉ ๋๋ ์ ์นด๋๊ฒ์์ ์งํํ๋ค.
์ฃผ์ด์ง round ๋ง๋ค ๋ ํฐ ๊ฐ์ด ์ ํ ์นด๋๋ฅผ ๋ด๋ ์ฌ๋์ด Point๋ฅผ ์ป๊ฒ ๋๋ค. ์ด๋ elsie๋ bessie์ ์นด๋ ์์๋ฅผ ์๊ณ ์๋ค.
elsie๊ฐ ์ป์ ์ ์๋ ์ ์๋ฅผ ๊ณ์ฐํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค.
์ด๊ฑธ ๋จธ๋ฆฟ์์ผ๋ก ์๊ฐํ๋ฉด ์ง์ง ๋๋ฌด ๋น ๋ฅด๊ฒ ๋๋ค. ๊ทธ๋ฅ bessie๊ฐ ๊ฐ์ง์ง ๋ชปํ ์นด๋์ค bessie๊ฐ ๊ฐ์ง ์นด๋๋ณด๋ค ๊ฐ์ด ๋ ํฐ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค. ๊ทธ๋ฐ๋ฐ ใฑ- ๋๋ฌด ์ค๋๋ง์ (์ฝ ๋๋ฌ) PS ๋ฌธ์ ๋ฅผ ํธ๋๊น ์ง์ฌ ๋จธ๋ฆฌ๊ฐ ๋์ด ๋ ๊ฒ ๊ฐ์!!!!
๋ฌดํผ ๋๋ ์ข ๊ฑฐ์ brute force ๋๋์ผ๋ก ํ์ด์ 8ms๊ฐ ๊ฑธ๋ ธ๋๋ฐ ๋์ค์ 4ms์ ํ์ด๋ฅผ ๋ณด๋๊น ํจ์ฌ ํจ์จ์ ์ด๊ณ ๊น๋ํ๊ฒ ํ์๋๋ผ...
๋๋ bessie์ ์นด๋๋ฅผ ๋ชจ๋ vector์ ๋ฃ์ด ๋๊ณ , sorting ํด์คฌ๋ค. ์ดํ์ bessie๊ฐ ๊ฐ์ง์ง ๋ชปํ ์นด๋๋ฅผ elsie vector์ ๋ฃ์ด ๋๊ณ ๋๊ฐ์ด sorting ํด์คฌ๋ค. ์ด์ elsie์ ์นด๋๋ฅผ ๋๋ฉด์ bessie ๋ณด๋ค ํฐ ์นด๋๋ฅผ ๊ฐ์ก์ผ๋ฉด point๋ฅผ ๋๋ ค์ฃผ์๋ค.
์ค๊ฐ์ bessie์ card index๊ฐ round ๋ฅผ ๋์ด๊ฐ๋ฉด ๋ฐ๋ก ๋๋ด ์ฃผ์๋ค. (out of bounds ์์ธ์ฒ๋ฆฌ)
๐ป ์ฝ๋
//AC
//BOJ 11968 High Card Wins
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> card;
vector<int> elsie;
int visit[101010];
int main(){
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int round, num;
cin >> round;
for(int i=0; i<round; i++) {
cin >> num;
card.push_back(num);
visit[num] = 1;
}
sort(card.begin(), card.end()); // bessie ์นด๋ sorting
for(int i=1; i<=round*2; i++) {
if(!visit[i]){
elsie.push_back(i); // bessie๊ฐ ๊ฐ์ง์ง ๋ชปํ ์นด๋๋ฅผ elsie ์๊ฒ ๋ฃ์ด์ค๋ค.
}
}
sort(elsie.begin(), elsie.end()); // elsie ์นด๋ sorting
int index = 0, point = 0;
for(int elsie_card : elsie) {
if (index >= round) break; // index ์์ธ์ฒ๋ฆฌ
if (elsie_card > card[index]) {
index++;
point++; // elsie ์นด๋๊ฐ bessie ์นด๋๋ณด๋ค ํฌ๋ค๋ฉด bessie index๋ฅผ ๋๋ ค์ฃผ๊ณ elsie์ point๋ฅผ 1์ ๋๋ ค์ค๋ค.
}
}
cout << point;
return 0;
}
'DEV > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ/20208] ์ง์ฐ์ ๋ฏผํธ์ด์ฝ ์ฐ์ , c++ (0) | 2021.09.20 |
---|---|
[BOJ/14746] Closest Pair, c++ (0) | 2021.09.20 |
[BOJ/20218] Parity Constraint Shortest Path, c++ (1) | 2021.08.28 |
[BOJ/20666] ์ธ๋ฌผ์ด์ ์ ์, c++ (2) | 2021.08.20 |
[BOJ/20665] ๋ ์์ค ๊ฑฐ๋ฆฌ๋๊ธฐ, c++ (2) | 2021.08.20 |