입력 한개는 index
다른 입력으로 작은 걸 찾는 그리디 문제
#include <iostream>
#include <vector>
using namespace std;
int main() {
int testcase;
cin >> testcase;
if (testcase < 1 || testcase>20) {
exit(0);
}
int *result = new int[testcase+1];
for (int i = 0; i < testcase; i++) {
int pnum;
cin >> pnum;
if (pnum < 1 || pnum>100000) {
exit(0);
}
int *people = new int[pnum+1];
for (int j = 0; j < pnum; j++) {
int a, b;
cin >> a >> b;
if (a<1 || a > 100000 || b<1 || b > 100000) {
exit(0);
}
people[a] = b;
}
int counter = 0;
int selector = 0;
for (int j = 1; j <= pnum; j++) {
if (j == 1) {
counter++;
selector = people[j];
continue;
}
if (people[j] < selector) {
counter++;
selector = people[j];
}
}
result[i] = counter;
}
for (int i = 0; i < testcase; i++) {
cout << result[i] << endl;
}
}
'컴퓨터 > 문제 풀기' 카테고리의 다른 글
백준 8595번 히든넘버 (0) | 2019.05.27 |
---|---|
백준 4948번 베르트랑 공준 (0) | 2019.05.20 |
백준 16955번 오목, 이길 수 있을까? (0) | 2019.05.20 |
10799번 쇠막대기 (0) | 2019.05.13 |
2413번 비슷한 순열 (1) | 2019.05.13 |