結果
| 問題 |
No.457 (^^*)
|
| コンテスト | |
| ユーザー |
はむこ
|
| 提出日時 | 2016-12-05 02:04:07 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 78 ms / 2,000 ms |
| コード長 | 848 bytes |
| コンパイル時間 | 1,849 ms |
| コンパイル使用メモリ | 159,360 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-28 04:11:16 |
| 合計ジャッジ時間 | 2,782 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 20 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(long long i = 0; i < (long long)(n); i++)
#define repi(i,a,b) for(long long i = (long long)(a); i < (long long)(b); i++)
using ll = long long;
int main(void) {
string s; cin >> s;
ll n = s.length();
assert(n >= 1); assert(n <= 10000);
rep(i, n) assert(s[i] == '(' || s[i] == '*' || s[i] == '^' || s[i] == ')');
auto f = [&](string target) {
ll ret = 0;
rep(i, n) if (s[i] == '(') {
ll state = 0;
repi(j, i+1, n) {
if (state < target.size() && target[state] == s[j])
state++;
if (state == target.size() && s[j] == ')')
ret++;
}
}
return ret;
};
cout << f("^^*") << " " << f("*^^") << endl;
return 0;
}
はむこ