提出 #704844


ソースコード 拡げる

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <numeric>
#include <functional>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <sstream>
#include <string>
#define repd(i,a,b) for (int i=(int)(a);i<(int)(b);i++)
#define rep(i,n) repd(i,0,n)
#define all(x) (x).begin(),(x).end()
#define mod 1000000007
#define inf 2000000007
#define mp make_pair
#define pb push_back
typedef long long ll;
using namespace std;
template <typename T>
inline void output(T a, int p) {
    if(p) cout << fixed << setprecision(p)  << a << "\n";
    else cout << a << "\n";
}
// end of template



string dfs(string s, string t){
    
    if (s.size() == 0 || t.size() == 0) {
        return "";
    }
    
    // s
    int sdepth = 1;
    int spos = 1;
    while (sdepth) {
        if (s[spos] == '(') {
            sdepth++;
        }
        if (s[spos] == ')') {
            sdepth--;
        }
        spos++;
    }
    int lspos = spos;
    spos++;
    int snum = 0;
    while (s[spos] != ']') {
        snum *= 10;
        snum += s[spos] - '0';
        spos++;
    }
    spos++;
    
    // t
    int tdepth = 1;
    int tpos = 1;
    while (tdepth) {
        if (t[tpos] == '(') {
            tdepth++;
        }
        if (t[tpos] == ')') {
            tdepth--;
        }
        tpos++;
    }
    int ltpos = tpos;
    tpos++;
    int tnum = 0;
    while (t[tpos] != ']') {
        tnum *= 10;
        tnum += t[tpos] - '0';
        tpos++;
    }
    tpos++;
    
    string mid = '[' +  to_string(snum + tnum) + ']';
//    cout << s.substr(1, lspos - 2) << ", " << t.substr(1, ltpos - 2) << endl;
//    cout << s.substr(spos + 1, s.size() - spos - 2) << ", " << t.substr(tpos + 1, t.size() - tpos - 2) << endl;
    string l = dfs(s.substr(1, lspos - 2), t.substr(1, ltpos - 2));

    
    string r = dfs(s.substr(spos + 1, s.size() - spos - 2), t.substr(tpos + 1, t.size() - tpos - 2));
    
    
//    cout << '(' + l + ')' + mid + '(' + r + ')' << endl;
    
    return '(' + l + ')' + mid + '(' + r + ')';
}


int main() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    // source code
    
    string A, B;
    cin >> A >> B;
    
    string ret = dfs(A, B);
    output(ret, 0);
    
    
    
    
    
    
    
    
    return 0;
}

提出情報

提出日時
問題 C - みさわさんの根付き木
ユーザ shinsotsu
言語 C++14 (GCC 5.4.1)
得点 100
コード長 2425 Byte
結果 AC
実行時間 6 ms
メモリ 512 KiB

ジャッジ結果

セット名 All
得点 / 配点 100 / 100
結果
AC × 53
セット名 テストケース
All 0_sample_0, 0_sample_1, 0_sample_2, 0_sample_3, 0_sample_4, 10_random_00, 10_random_01, 10_random_02, 10_random_03, 10_random_04, 10_random_05, 10_random_06, 10_random_07, 10_random_08, 10_random_09, 10_random_10, 10_random_11, 10_random_12, 10_random_13, 10_random_14, 10_random_15, 10_random_16, 10_random_17, 10_random_18, 10_random_19, 10_random_20, 10_random_21, 10_random_22, 10_random_23, 10_random_24, 10_random_25, 10_random_26, 10_random_27, 10_random_28, 10_random_29, 10_random_30, 10_random_31, 10_random_32, 10_random_33, 10_random_34, 10_random_35, 10_random_36, 10_random_37, 10_random_38, 10_random_39, 20_unbalanced_0, 20_unbalanced_1, 20_unbalanced_2, 20_unbalanced_3, 21_small_unbalanced_0, 21_small_unbalanced_1, 21_small_unbalanced_2, 21_small_unbalanced_3
ケース名 結果 実行時間 メモリ
0_sample_0 AC 4 ms 256 KiB
0_sample_1 AC 4 ms 256 KiB
0_sample_2 AC 4 ms 256 KiB
0_sample_3 AC 4 ms 256 KiB
0_sample_4 AC 4 ms 256 KiB
10_random_00 AC 4 ms 256 KiB
10_random_01 AC 4 ms 256 KiB
10_random_02 AC 4 ms 256 KiB
10_random_03 AC 4 ms 256 KiB
10_random_04 AC 4 ms 256 KiB
10_random_05 AC 4 ms 256 KiB
10_random_06 AC 4 ms 256 KiB
10_random_07 AC 4 ms 256 KiB
10_random_08 AC 4 ms 256 KiB
10_random_09 AC 4 ms 256 KiB
10_random_10 AC 4 ms 256 KiB
10_random_11 AC 4 ms 256 KiB
10_random_12 AC 5 ms 256 KiB
10_random_13 AC 4 ms 256 KiB
10_random_14 AC 5 ms 256 KiB
10_random_15 AC 6 ms 256 KiB
10_random_16 AC 4 ms 256 KiB
10_random_17 AC 4 ms 256 KiB
10_random_18 AC 4 ms 256 KiB
10_random_19 AC 4 ms 256 KiB
10_random_20 AC 5 ms 256 KiB
10_random_21 AC 4 ms 256 KiB
10_random_22 AC 4 ms 256 KiB
10_random_23 AC 4 ms 256 KiB
10_random_24 AC 4 ms 256 KiB
10_random_25 AC 4 ms 256 KiB
10_random_26 AC 4 ms 256 KiB
10_random_27 AC 4 ms 256 KiB
10_random_28 AC 4 ms 256 KiB
10_random_29 AC 4 ms 256 KiB
10_random_30 AC 5 ms 256 KiB
10_random_31 AC 4 ms 256 KiB
10_random_32 AC 4 ms 256 KiB
10_random_33 AC 4 ms 256 KiB
10_random_34 AC 4 ms 256 KiB
10_random_35 AC 4 ms 256 KiB
10_random_36 AC 4 ms 256 KiB
10_random_37 AC 4 ms 256 KiB
10_random_38 AC 4 ms 256 KiB
10_random_39 AC 4 ms 256 KiB
20_unbalanced_0 AC 5 ms 384 KiB
20_unbalanced_1 AC 4 ms 256 KiB
20_unbalanced_2 AC 4 ms 256 KiB
20_unbalanced_3 AC 5 ms 384 KiB
21_small_unbalanced_0 AC 5 ms 512 KiB
21_small_unbalanced_1 AC 4 ms 256 KiB
21_small_unbalanced_2 AC 4 ms 256 KiB
21_small_unbalanced_3 AC 5 ms 512 KiB