답안 #856228

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
856228 2023-10-02T20:12:55 Z Benmath parentrises (BOI18_parentrises) C++14
22 / 100
1000 ms 860 KB
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/
#include<bits/stdc++.h>
using namespace std;
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int p;
    cin >> p;
    int t;
    cin >> t;
    while(t--){
        string s;
        cin >> s;
        int n = s.size();
        char ans[n];
        char ans1[n];
        int n1 = 0;
        int n2 = 0;
        for(int i = 0; i < n; i++){
            ans[i] = '?';
            if(s[i] == '('){
                n1 ++;
            }else{
                n2 ++;
            }
        }
        int t2 = 0;
       
       for (int x = 0; x <= n1; x++){
           int y = x - (n2 - n1);
           int x1 = x;
           int y1 = y;
           if(y1 >= 0){
               
           int t1 = 0;
            for(int i = 0; i < n; i++){
                if(s[i] == '(' and x1 > 0){
                    ans[i] = 'G';
                    x1 --;
                }
                    
            }
            for(int i = n - 1; i >= 0; i--){
                if(s[i] == ')' and y1 > 0){
                    ans[i] = 'G';
                    y1 --;
                }
            }
             stack<int>s1;
        int trenlijevi = 0;
        int trendesni = 0;
        stack<int>s2;
        for(int i = 0; i < n; i++){
            if(ans[i] == 'G'){
                if(s[i] == '('){
                    s1.push(i);
                    s2.push(i);
                }else{
                    if(s1.empty() or s2.empty()){
                        t1++;
                       
                    }else{
                        s1.pop();
                        s2.pop();
                    }
                }
            }else{
                if(s[i] == '('){
                    if(trenlijevi == 0){
                        s1.push(i);
                        ans[i] = 'B';
                        trenlijevi ++;
                    }else{
                        s2.push(i);
                        ans[i] = 'R';
                        trenlijevi = 0;
                    }
                }else{
                    if(trendesni == 0){
                        if(s1.empty()){
                            t1++;
                        }else{
                            s1.pop();
                            ans[i] = 'B';
                        }
                        trendesni = 1;
                    }else{
                        if(s2.empty()){
                            t1++;
                        }else{ 
                            s2.pop();
                            ans[i] = 'R';
                        }
                        trendesni = 0;
                    }
                }
            }
        }
        if(!s1.empty() or !s2.empty()){
            t1++;
        }
            if(t1 == 0){
                for(int i = 0; i < n; i++){
                    ans1[i] = ans[i];
                }
                t2++;
            }
           }
       }
       if(t2>1){
           int brojac = 0;
           int inf = 1e9;
           while(brojac<=inf){
               brojac++;
           }
       }
        if(t2 == 0){
            cout<<"impossible"<<endl;
        }else{
            for(int i = 0; i < n; i++){
                cout<<ans1[i];
            }
            cout<<endl;
        }
        
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 600 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 600 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 2 ms 348 KB Output is correct
7 Correct 3 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 3 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 600 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 2 ms 348 KB Output is correct
7 Correct 3 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 3 ms 348 KB Output is correct
11 Correct 256 ms 464 KB Output is correct
12 Correct 707 ms 720 KB Output is correct
13 Correct 26 ms 348 KB Output is correct
14 Correct 59 ms 344 KB Output is correct
15 Correct 678 ms 484 KB Output is correct
16 Correct 21 ms 348 KB Output is correct
17 Execution timed out 1067 ms 860 KB Time limit exceeded
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Expected integer, but "impossible" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Expected integer, but "impossible" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Expected integer, but "impossible" found
2 Halted 0 ms 0 KB -