Submission #64447

# Submission time Handle Problem Language Result Execution time Memory
64447 2018-08-04T13:43:26 Z Bodo171 parentrises (BOI18_parentrises) C++14
0 / 100
3 ms 484 KB
#include <iostream>
#include <fstream>
using namespace std;
const int nmax=1000005;
string s;
char ans[nmax];
int st1[nmax],st2[nmax];
int tip,cnt,u,t,i,u1,u2,p1;
int answ[]={0,0,1,2,2,6,12,18,43,86,148,326,652,1194,2531,5062,9578,19884,39768,76680,157236,314472,613440,1248198,2496396,4906266};
int main()
{
    freopen("data.in","r",stdin);
    cin>>tip;
    if(tip==1)
    {
        cin>>t;
        for(int cnt=1;cnt<=t;cnt++)
        {
            cin>>s;u1=u2=0;

            bool ok=1;
            for(i=0;i<s.size();i++)
            {
                if(s[i]=='(')
                {
                    st1[++u1]=i;
                    st2[++u2]=i;
                }
                else
                {
                    if(u1)
                    {
                        ans[st1[u1]]='R';
                        u1--;
                        ans[i]='R';
                    }
                    else
                    {
                        if(u2)
                        {
                            ans[st2[u2]]='G';
                            u2--;
                            ans[i]='B';
                        }
                        else ok=0;
                    }
                }
            }
            p1=1;
            for(i=0;i<s.size();i++)
                if(s[i]==')')
            {
                  if(p1<=u1&&st1[p1]<=i)
                  {
                       ans[st1[p1]]='B';
                       p1++;
                       ans[i]='G';
                  }
            }
            for(i=0;i<s.size();i++)
                if(!ans[i])
                  ok=0;
            if(p1<=u1||(!ok))
            {
                for(i=0;i<s.size();i++)
                 ans[i]=0;
                cout<<"impossible\n";
                continue;
            }
            cout<<ans<<'\n';
            for(i=0;i<s.size();i++)
              ans[i]=0;
        }
    }
    else
    {
        cin>>t;
        int x;
        for(i=1;i<=t;i++)
        {
            cin>>x;
            cout<<answ[x]<<'\n';
        }
    }
    return 0;
}

Compilation message

parentrises.cpp: In function 'int main()':
parentrises.cpp:22:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
parentrises.cpp:50:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
parentrises.cpp:60:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
parentrises.cpp:65:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(i=0;i<s.size();i++)
                         ~^~~~~~~~~
parentrises.cpp:71:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
parentrises.cpp:12:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("data.in","r",stdin);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 248 KB Unexpected end of file - token expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 484 KB Unexpected end of file - token expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 484 KB Unexpected end of file - token expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 484 KB Unexpected end of file - token expected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 484 KB Unexpected end of file - int32 expected
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 484 KB Unexpected end of file - int32 expected
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 484 KB Unexpected end of file - int32 expected