이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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,9932707,19865414,39237478,79165646,158331292,};
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;
}
컴파일 시 표준 에러 (stderr) 메시지
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++)
~^~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |