# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
867558 | 2023-10-28T16:19:51 Z | 42kangaroo | parentrises (BOI18_parentrises) | C++17 | 0 ms | 348 KB |
// // Created by 42kangaroo on 28/10/2023. // #include "bits/stdc++.h" using namespace std; #define int long long array<char,3> col{'G', 'R', 'B'}; signed main() { int p, t; cin >> p >> t; while (t--) { if (p == 1) { string s; cin >> s; bool pos = true; vector<int> co(s.size(),0); vector<int> closeInd; deque<int> openInd; int act = 0; for (int i = 0; i < s.size(); ++i) { if (s[i] == '(') { ++act; } else { closeInd.push_back(i); --act; if (act < 0) { if (closeInd.size() < 2) { cout << "impossible\n"; pos = false; break; } else { co[closeInd.back()] = 2; closeInd.pop_back(); co[closeInd.back()] = 1; closeInd.pop_back(); ++act; } } } } act = 0; for(int i = s.size() - 1; i >= 0; --i) { if (s[i] == '(') { openInd.push_back(i); --act; if (act < 0) { if (openInd.empty()) { cout << "impossible\n"; pos = false; break; } else { co[openInd.front()] = 2; openInd.front(); ++act; } } } else if (co[i] < 2){ ++act; } } assert(!pos || act == 0); openInd.clear(); for(int i = s.size() - 1; i >= 0; --i) { if (s[i] == '(' && (co[i] == 0 || co[i] == 2)) { if (co[i] == 0) { openInd.push_back(i); } --act; if (act < 0) { if (openInd.empty()) { cout << "impossible\n"; pos = false; break; } else { co[openInd.back()] = 1; openInd.pop_back(); ++act; } } } else if (s[i] == ')' && (co[i] == 0 || co[i] == 2)){ ++act; } } assert(!pos || act == 0); if (pos) { for (auto e: co) { cout << col[e]; } cout << "\n"; } /*if (pos) { for (int i = 0; i < s.size(); ++i) { if (co[i] != 2) cout << s[i]; } cout << "\n"; for (int i = 0; i < s.size(); ++i) { if (co[i] != 1) cout << s[i]; } cout << "\n"; }*/ } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Incorrect | 0 ms | 348 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Unexpected end of file - int32 expected |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Unexpected end of file - int32 expected |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 348 KB | Unexpected end of file - int32 expected |
2 | Halted | 0 ms | 0 KB | - |