結果
問題 | No.457 (^^*) |
ユーザー |
![]() |
提出日時 | 2018-09-15 23:06:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 154 ms / 2,000 ms |
コード長 | 1,576 bytes |
コンパイル時間 | 1,336 ms |
コンパイル使用メモリ | 167,300 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-18 07:17:56 |
合計ジャッジ時間 | 2,742 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
#include <bits/stdc++.h> typedef long long ll; #define INF 1000000000 using namespace std; #define MOD 1000000007 int main(void){ string s; cin>>s; int ans_left=0,ans_right=0; for(int i=0;i<s.size()-1;i++){ if(s[i]!='(')continue; int check_left,check_right; check_left=0; check_right=0; string left_face="^^*",right_face="*^^"; int index_left=0,index_right=0; for(int j=i+1;j<s.size();j++){ if(left_face[index_left%3]==s[j])index_left++; if(right_face[index_right%3]==s[j])index_right++; if(index_left>=3 and s[j]==')')ans_left++; if(index_right>=3 and s[j]==')')ans_right++; /* if(s[j]=='*' and check_left==0){ check_left=1; } if(s[j]=='^' and check_left==1){ check_left=2; }if(s[j]=='^' and check_left==2){ check_left=INF; }if(s[j]==')' and check_left==INF){ ans_left++; } if(s[j]=='^' and check_right==0){ check_right=1; }if(s[j]=='^' and check_right==1){ check_right=2; }if(s[j]=='*' and check_right==2){ check_right=INF; }if(s[j]==')' and check_right==INF){ ans_right++; } */ } } cout<<ans_left<<" "<<ans_right<<endl; }