-
[1700] 멀티탭 스케줄링BOJ 2021. 11. 4. 05:46
https://www.acmicpc.net/problem/1700
1700번: 멀티탭 스케줄링
기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전
www.acmicpc.net
<문제>
운영체제에서 다루는 페이지 교체 알고리즘에서 발상을 얻을 수도 있다고한다.
플러그가 전부 찰때까지 꽂아주다, 다 찬 후부터는 현재 시점에서 필요한 시점이 가장 먼 플러그를 뽑아준다.
<소스코드>
123456789101112131415161718192021222324252627282930313233343536373839#include <bits/stdc++.h>using namespace std;int n, m, ans, a[101];bool check[101];vector<int> v;int main(void) {cin >> n >> m;int i, j, k;for (i = 0; i < m; i++) cin >> a[i];for (i = 0; i < m; i++) {if (check[a[i]] == true) continue;if (v.size() < n) {v.push_back(a[i]);check[a[i]] = true;continue;}ans++;int cur = 0, curIdx = 0;for (j = 0; j < n; j++) {for (k = i + 1; k < m && a[k] != v[j]; k++);if (k == m) {curIdx = j;break;}int score = k - i;if (cur < score) {cur = score;curIdx = j;}}check[v[curIdx]] = false;v[curIdx] = a[i];check[a[i]] = true;}cout << ans;return 0;}cs 'BOJ' 카테고리의 다른 글
[15686] 치킨 배달 (0) 2021.11.05 [1992] 쿼드트리 (0) 2021.11.04 [13907] 세금 (0) 2021.11.03 [17267] 상남자 (0) 2021.11.03 [2842] 집배원 한상덕 (0) 2021.11.02