結果
問題 |
No.457 (^^*)
|
ユーザー |
|
提出日時 | 2020-04-14 22:59:30 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 157 ms / 2,000 ms |
コード長 | 601 bytes |
コンパイル時間 | 2,611 ms |
コンパイル使用メモリ | 192,736 KB |
最終ジャッジ日時 | 2025-01-09 19:08:49 |
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; int solve(string s){ int n=s.length(); int res=0; rep(i,n) if(s[i]=='(') { int phase=0; for(int j=i+1;j<n;j++){ if(s[j]=='^'){ if(phase<=1) phase++; } else if(s[j]=='*'){ if(phase==2) phase=3; } else if(s[j]==')'){ if(phase==3) res++; } } } return res; } int main(){ string s; cin>>s; int ans1=solve(s); reverse(s.begin(),s.end()); for(char& c:s){ if (c=='(') c=')'; else if(c==')') c='('; } int ans2=solve(s); cout<<ans1<<' '<<ans2<<'\n'; return 0; }