제출 #255225

#제출 시각아이디문제언어결과실행 시간메모리
255225Kastandaparentrises (BOI18_parentrises)C++11
50 / 100
70 ms7540 KiB
// M #include<bits/stdc++.h> using namespace std; const int N = 1000006; int n, q, Sub; char S[N]; void SolveSub1() { scanf("%d", &q); for (; q; q --) { scanf("%s", S); n = strlen(S); vector < int > C(n, 0), Stk, OP; for (int i = 0; i < n; i ++) { if (S[i] == '(') Stk.push_back(i); else if (Stk.size()) C[Stk.back()] = C[i] = 1, Stk.pop_back(); else OP.push_back(i); } bool Fail = 0; vector < int > Kts, PO; for (int i = n - 1; ~ i; i --) { if (Stk.size()) { if (Stk.back() == i) { if (!Kts.size()) {Fail = 1; break;} C[Kts.back()] += 2; Kts.pop_back(); C[Stk.back()] += 2; Stk.pop_back(); continue; } if (S[i] == '(') continue; Kts.push_back(i); } else { if (OP.size() && OP.back() == i) { PO.push_back(OP.back()); OP.pop_back(); continue; } if (S[i] == ')') continue; if (PO.size()) { C[PO.back()] += 2; PO.pop_back(); C[i] += 2; } } } if (PO.size() || OP.size() || Stk.size()) Fail = 1; fill(S, S + n, 0); if (Fail) printf("impossible\n"); else { for (int i = 0; i < n; i ++) printf("%c", "RBG"[C[i] - 1]); printf("\n"); } } exit(0); } int main() { scanf("%d", &Sub); if (Sub == 1) SolveSub1(); }

컴파일 시 표준 에러 (stderr) 메시지

parentrises.cpp: In function 'void SolveSub1()':
parentrises.cpp:9:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &q);
         ~~~~~^~~~~~~~~~
parentrises.cpp:12:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
                 scanf("%s", S);
                 ~~~~~^~~~~~~~~
parentrises.cpp: In function 'int main()':
parentrises.cpp:78:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &Sub);
         ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...