入力がえらく小さな問題。
https://yukicoder.me/problems/no/2143
問題
正整数Nが与えられる。
以下を満たすN個の括弧列S[i]を求めよ。
- Sの総長はN^2以下
- Sを並べたとき、正しい括弧列となる並べ方は1通り
解法
最後の1個を除き、i個目の括弧列では、i個の閉じ括弧のあと(i+1)個の開き括弧を取ればよい。
最後の1個は、N-1個の閉じ括弧とする。
こうすると、この順の並び以外は閉じ括弧が開き括弧より先行してしまい不可である。
int N; void solve() { int i,j,k,l,r,x,y; string s; cin>>N; FOR(i,N-1) { cout<<string(i,')'); cout<<string(i+1,'('); cout<<endl; } cout<<string(N-1,')')<<endl; }
まとめ
★2~2.5でもいい気はする。