Submission #1592224


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef unsigned __int128 HASH;
typedef pair<int,int> pii;
typedef pair<ll, ll> pll;
typedef pair<ull, ull> pullull;
typedef pair<ll,int> plli;
typedef pair<double, int> pdbi;
typedef pair<int,pii> pipii;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vi> vvi;
typedef vector<vvi> vvvi;
typedef vector<pii> vpii;
typedef vector<vector<int>> mat;

#define rep(i,n) for (int i=0;i<(n);i++)
#define rep2(i,a,b) for (int i=(a);i<(b);i++)
#define rrep(i,n) for (int i=(n);i>0;i--)
#define rrep2(i,a,b) for (int i=(a);i>b;i--)
#define pb push_back
#define fi first
#define se second
#define all(a) (a).begin(),(a).end()
#define rall(a) (a).rbegin(),(a).rend()

const ll hmod1 = 999999937;
const ll hmod2 = 1000000000 + 9;
const ll INF = 1<<30;
const ll mod = 10000;
const int dx4[4] = {1, 0, -1, 0};
const int dy4[4] = {0, 1, 0, -1};
const int dx8[8] = {1, 1, 1, 0, 0, -1, -1, -1};
const int dy8[8] = {0, 1, -1, 1, -1, 0, 1, -1};
const double pi = 3.141592653589793;

//#define int long long
#define addm(X, Y) ((X) = ((X) + (Y) % mod) % mod)

struct Node {
    int id;
    vector<int> ch;
    char w;
};

Node v[105];
string a;

void construct_tree(int n) {
    vector<Node> st;
    rep(i, n) {
        if (a[i] == '+' || a[i] == '-' || a[i] == '*') {
            Node v1 = st.back(); st.pop_back();
            Node v2 = st.back(); st.pop_back();
            v[i].ch.push_back(v2.id); v[i].ch.push_back(v1.id);
            st.emplace_back(v[i]);
        }
        else {
            st.emplace_back(v[i]);
        }
    }
}

signed main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    cin >> a;
    int n = a.size();
    if (n == 1) {
        cout << a << endl;
        return 0;
    }
    rep(i, n) {
        v[i].id = i;
        v[i].w = a[i];
    }
    construct_tree(n);
    string ans;
    queue<int> q;
    q.push(n - 1);
    while (!q.empty()) {
        int p = q.front(); q.pop();
        ans += v[p].w;
        for (auto nx : v[p].ch) {
            q.push(nx);
        }
    }
    reverse(all(ans));
    cout << ans << endl;
}

Submission Info

Submission Time
Task F - 逆ポーランド記法
User roto_37
Language C++14 (GCC 5.4.1)
Score 200
Code Size 2250 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 200 / 200
Status
AC × 96
Set Name Test Cases
All 00_sample_01.txt, 00_sample_02.txt, 10_random_all_01.txt, 10_random_all_02.txt, 10_random_all_03.txt, 10_random_all_04.txt, 10_random_all_05.txt, 10_random_all_06.txt, 10_random_all_07.txt, 10_random_all_08.txt, 10_random_all_09.txt, 10_random_all_10.txt, 10_random_all_11.txt, 10_random_all_12.txt, 10_random_all_13.txt, 10_random_all_14.txt, 10_random_all_15.txt, 10_random_all_16.txt, 10_random_all_17.txt, 10_random_all_18.txt, 10_random_all_19.txt, 10_random_all_20.txt, 10_random_all_21.txt, 10_random_all_22.txt, 10_random_all_23.txt, 10_random_all_24.txt, 10_random_all_25.txt, 10_random_all_26.txt, 10_random_all_27.txt, 10_random_all_28.txt, 10_random_all_29.txt, 10_random_all_30.txt, 10_random_all_31.txt, 10_random_all_32.txt, 10_random_all_33.txt, 10_random_all_34.txt, 10_random_all_35.txt, 10_random_all_36.txt, 10_random_all_37.txt, 10_random_all_38.txt, 10_random_all_39.txt, 10_random_all_40.txt, 10_random_all_41.txt, 10_random_all_42.txt, 10_random_all_43.txt, 10_random_all_44.txt, 10_random_all_45.txt, 10_random_all_46.txt, 10_random_all_47.txt, 10_random_all_48.txt, 10_random_all_49.txt, 10_random_all_50.txt, 22_small_51.txt, 22_small_52.txt, 22_small_53.txt, 22_small_54.txt, 22_small_55.txt, 22_small_56.txt, 22_small_57.txt, 22_small_58.txt, 22_small_59.txt, 22_small_60.txt, 22_small_61.txt, 22_small_62.txt, 22_small_63.txt, 22_small_64.txt, 22_small_65.txt, 22_small_66.txt, 22_small_67.txt, 22_small_68.txt, 22_small_69.txt, 22_small_70.txt, 33_alternation_71.txt, 33_alternation_72.txt, 33_alternation_73.txt, 33_alternation_74.txt, 33_alternation_75.txt, 33_alternation_76.txt, 33_alternation_77.txt, 33_alternation_78.txt, 33_alternation_79.txt, 33_alternation_80.txt, 34_oneside_81.txt, 34_oneside_82.txt, 34_oneside_83.txt, 34_oneside_84.txt, 34_oneside_85.txt, 34_oneside_86.txt, 34_oneside_87.txt, 34_oneside_88.txt, 34_oneside_89.txt, 34_oneside_90.txt, 44_mul_91.txt, 44_mul_92.txt, 44_mul_93.txt, 44_mul_94.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 1 ms 256 KB
00_sample_02.txt AC 1 ms 256 KB
10_random_all_01.txt AC 1 ms 256 KB
10_random_all_02.txt AC 1 ms 256 KB
10_random_all_03.txt AC 1 ms 256 KB
10_random_all_04.txt AC 1 ms 256 KB
10_random_all_05.txt AC 1 ms 256 KB
10_random_all_06.txt AC 1 ms 256 KB
10_random_all_07.txt AC 1 ms 256 KB
10_random_all_08.txt AC 1 ms 256 KB
10_random_all_09.txt AC 1 ms 256 KB
10_random_all_10.txt AC 1 ms 256 KB
10_random_all_11.txt AC 1 ms 256 KB
10_random_all_12.txt AC 1 ms 256 KB
10_random_all_13.txt AC 1 ms 256 KB
10_random_all_14.txt AC 1 ms 256 KB
10_random_all_15.txt AC 1 ms 256 KB
10_random_all_16.txt AC 1 ms 256 KB
10_random_all_17.txt AC 1 ms 256 KB
10_random_all_18.txt AC 1 ms 256 KB
10_random_all_19.txt AC 1 ms 256 KB
10_random_all_20.txt AC 1 ms 256 KB
10_random_all_21.txt AC 1 ms 256 KB
10_random_all_22.txt AC 1 ms 256 KB
10_random_all_23.txt AC 1 ms 256 KB
10_random_all_24.txt AC 1 ms 256 KB
10_random_all_25.txt AC 1 ms 256 KB
10_random_all_26.txt AC 1 ms 256 KB
10_random_all_27.txt AC 1 ms 256 KB
10_random_all_28.txt AC 1 ms 256 KB
10_random_all_29.txt AC 1 ms 256 KB
10_random_all_30.txt AC 1 ms 256 KB
10_random_all_31.txt AC 1 ms 256 KB
10_random_all_32.txt AC 1 ms 256 KB
10_random_all_33.txt AC 1 ms 256 KB
10_random_all_34.txt AC 1 ms 256 KB
10_random_all_35.txt AC 1 ms 256 KB
10_random_all_36.txt AC 1 ms 256 KB
10_random_all_37.txt AC 1 ms 256 KB
10_random_all_38.txt AC 1 ms 256 KB
10_random_all_39.txt AC 1 ms 256 KB
10_random_all_40.txt AC 1 ms 256 KB
10_random_all_41.txt AC 1 ms 256 KB
10_random_all_42.txt AC 1 ms 256 KB
10_random_all_43.txt AC 1 ms 256 KB
10_random_all_44.txt AC 1 ms 256 KB
10_random_all_45.txt AC 1 ms 256 KB
10_random_all_46.txt AC 1 ms 256 KB
10_random_all_47.txt AC 1 ms 256 KB
10_random_all_48.txt AC 1 ms 256 KB
10_random_all_49.txt AC 1 ms 256 KB
10_random_all_50.txt AC 1 ms 256 KB
22_small_51.txt AC 1 ms 256 KB
22_small_52.txt AC 1 ms 256 KB
22_small_53.txt AC 1 ms 256 KB
22_small_54.txt AC 1 ms 256 KB
22_small_55.txt AC 1 ms 256 KB
22_small_56.txt AC 1 ms 256 KB
22_small_57.txt AC 1 ms 256 KB
22_small_58.txt AC 1 ms 256 KB
22_small_59.txt AC 1 ms 256 KB
22_small_60.txt AC 1 ms 256 KB
22_small_61.txt AC 1 ms 256 KB
22_small_62.txt AC 1 ms 256 KB
22_small_63.txt AC 1 ms 256 KB
22_small_64.txt AC 1 ms 256 KB
22_small_65.txt AC 1 ms 256 KB
22_small_66.txt AC 1 ms 256 KB
22_small_67.txt AC 1 ms 256 KB
22_small_68.txt AC 1 ms 256 KB
22_small_69.txt AC 1 ms 256 KB
22_small_70.txt AC 1 ms 256 KB
33_alternation_71.txt AC 1 ms 256 KB
33_alternation_72.txt AC 1 ms 256 KB
33_alternation_73.txt AC 1 ms 256 KB
33_alternation_74.txt AC 1 ms 256 KB
33_alternation_75.txt AC 1 ms 256 KB
33_alternation_76.txt AC 1 ms 256 KB
33_alternation_77.txt AC 1 ms 256 KB
33_alternation_78.txt AC 1 ms 256 KB
33_alternation_79.txt AC 1 ms 256 KB
33_alternation_80.txt AC 1 ms 256 KB
34_oneside_81.txt AC 1 ms 256 KB
34_oneside_82.txt AC 1 ms 256 KB
34_oneside_83.txt AC 1 ms 256 KB
34_oneside_84.txt AC 1 ms 256 KB
34_oneside_85.txt AC 1 ms 256 KB
34_oneside_86.txt AC 1 ms 256 KB
34_oneside_87.txt AC 1 ms 256 KB
34_oneside_88.txt AC 1 ms 256 KB
34_oneside_89.txt AC 1 ms 256 KB
34_oneside_90.txt AC 1 ms 256 KB
44_mul_91.txt AC 1 ms 256 KB
44_mul_92.txt AC 1 ms 256 KB
44_mul_93.txt AC 1 ms 256 KB
44_mul_94.txt AC 1 ms 256 KB