提出 #52612307
ソースコード 拡げる
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define pa first
#define pb second
#define endl '\n'
#define vint vector<int>
#define vlong vector<ll>
#define pii pair<int, int>
#define rep(i, a, b) for (int i = int(a); i < int(b); i++)
#define rng(i, a, b) for (int i = int(a); i <= int(b); i++)
#define per(i, a, b) for (int i = int(b - 1); i >= int(a); i--)
#define gnr(i, a, b) for (int i = int(b); i >= int(a); i--)
using namespace std;
#define ATC
#ifdef ATC
#include <atcoder/all>
using namespace atcoder;
#endif
#ifdef MT
void solve()
{
}
#endif
char toggle(char ch)
{
if (ch >= 'a' && ch <= 'z')
return ch - 'a' + 'A';
else
return ch - 'A' + 'a';
}
const int N = 5e5 + 10;
int par[N];
string str, ans;
void dfs(int s, int e, int d)
{
for (int i = s; i != e; i += d) {
if (str[i] != '(' && str[i] != ')') {
if (str[i] != ' ')
ans.push_back(str[i]);
} else {
str[i] = ' ';
str[par[i]] = ' ';
dfs(par[i], i, -d);
i = par[i];
}
}
}
int main(void)
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> str;
stack<int> st;
rep(i, 0, str.length())
{
if (str[i] == '(') {
st.push(i);
continue;
}
if (str[i] == ')') {
par[st.top()] = i;
par[i] = st.top();
st.pop();
continue;
}
if (st.size() & 1) {
str[i] = toggle(str[i]);
}
}
dfs(0, str.length(), 1);
cout << ans << endl;
#ifdef MT
int t;
cin >> t;
for (int i = 0; i < t; i++)
solve();
#endif
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Transpose |
| ユーザ | L1bra |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 550 |
| コード長 | 1808 Byte |
| 結果 | AC |
| 実行時間 | 17 ms |
| メモリ | 30024 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 550 / 550 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 1 ms | 3488 KiB |
| sample_02.txt | AC | 1 ms | 3504 KiB |
| sample_03.txt | AC | 1 ms | 3636 KiB |
| sample_04.txt | AC | 1 ms | 3500 KiB |
| test_01.txt | AC | 1 ms | 3512 KiB |
| test_02.txt | AC | 1 ms | 3564 KiB |
| test_03.txt | AC | 1 ms | 3496 KiB |
| test_04.txt | AC | 13 ms | 15208 KiB |
| test_05.txt | AC | 6 ms | 7280 KiB |
| test_06.txt | AC | 13 ms | 16800 KiB |
| test_07.txt | AC | 13 ms | 14412 KiB |
| test_08.txt | AC | 13 ms | 15892 KiB |
| test_09.txt | AC | 13 ms | 15504 KiB |
| test_10.txt | AC | 4 ms | 4560 KiB |
| test_11.txt | AC | 13 ms | 17848 KiB |
| test_12.txt | AC | 12 ms | 12116 KiB |
| test_13.txt | AC | 13 ms | 13916 KiB |
| test_14.txt | AC | 7 ms | 8904 KiB |
| test_15.txt | AC | 7 ms | 8332 KiB |
| test_16.txt | AC | 10 ms | 10492 KiB |
| test_17.txt | AC | 13 ms | 16028 KiB |
| test_18.txt | AC | 13 ms | 13940 KiB |
| test_19.txt | AC | 12 ms | 12136 KiB |
| test_20.txt | AC | 4 ms | 4616 KiB |
| test_21.txt | AC | 13 ms | 17852 KiB |
| test_22.txt | AC | 7 ms | 8732 KiB |
| test_23.txt | AC | 9 ms | 10224 KiB |
| test_24.txt | AC | 17 ms | 29972 KiB |
| test_25.txt | AC | 17 ms | 29964 KiB |
| test_26.txt | AC | 17 ms | 30024 KiB |
| test_27.txt | AC | 15 ms | 21356 KiB |
| test_28.txt | AC | 14 ms | 18672 KiB |
| test_29.txt | AC | 8 ms | 10440 KiB |