250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준#BOJ#14501#퇴사#브루트포스
- 백준#BOJ#1939#중량제한
- 백준#BOJ#12865#평범한배낭
- 백준#boj#12755
- 백준#BOJ#8012#한동이는영업사원
- 백준#BOJ#2615#오목
- 백준#boj#16932#모양만들기
Archives
- Today
- Total
순간을 성실히, 화려함보단 꾸준함을
[boj : 20292] 컨설팅 본문
문제 : 지문에 써저있는 조건에 맞게 wait를 추가하여 출력하게끔 해라.
해설 : 최대 입력 문장이 10000 인 걸 고려해서 O(n^2)은 불안하여 O(nlogn) 의 시간 복잡도를 이용하여 문제를 해결하였습니다. 더불어 C++ 언어를 사용하시는 분께선 반드시 fastio를 사용해주세요. (요즘엔 선택이 아닌 필수라고 하더라구요)
소스:
#include<bits/stdc++.h>
using namespace std;
struct info {
int x;
string a, b;
bool operator<(const info& cur) const {
return x < cur.x;
}
};
multiset<info> s;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
string input;
while (true) {
string x, y, z;
cin >> input;
if (input == "EXIT")break;
if (input == "WRITE") {
cin >> x >> y >> z;
if (s.size() == 0) {
cout << input << " " << x << " " << y << " " << z << "\n";
s.insert({ 1,x,z });
}
else {
bool flag = true;
for (auto st = s.begin(); st != s.end(); st++) {
if (st->x == 0 && st->a == z) {
cout << "WAIT\n";
s.clear();
s.insert({ 1,x,z });
cout << input << " " << x << " " << y << " " << z << "\n";
flag = false;
break;
}
else if(st->x==1 && (st->b==x || st->a==z || st->b==z || (st->a==x && st->b==z))){
cout << "WAIT\n";
s.clear();
s.insert({ 1,x,z});
cout << input << " " << x << " " << y << " " << z << "\n";
flag = false;
break;
}
}
if (flag) {
cout << input << " " << x << " " << y << " " << z << "\n";
s.insert({ 1,x,z });
}
}
}
else {
cin >> x;
if (s.size() == 0) {
cout << input << " " << x << "\n";
s.insert({ 0,x });
}
else {
bool flag = true;
for (auto st = s.begin(); st != s.end(); st++) {
if (st->x == 1 && st->b == x) {
cout << "WAIT\n";
s.clear();
s.insert({ 0,x });
cout << input << " " << x << "\n";
flag = false;
break;
}
}
if (flag) {
cout << input << " " << x << "\n";
s.insert({ 0,x });
}
}
}
}
cout << "EXIT";
return 0;
}
'알고리즘,SQL > 백준,BOJ' 카테고리의 다른 글
[boj : 20167]꿈틀꿈틀 호석 애벌래-기능성 (0) | 2020.12.14 |
---|---|
[boj : 2666] 벽장문의 이동 (0) | 2020.12.03 |
[boj : 2459] 철사 자르기 (0) | 2020.11.23 |
[boj : 2651]자동차경주대회 (0) | 2020.11.17 |
[boj : 2020] 부분 염기서열 (2) | 2020.11.05 |