結果
問題 | 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;}