結果
問題 | No.22 括弧の対応 |
ユーザー |
|
提出日時 | 2017-01-18 22:22:28 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 8 ms / 5,000 ms |
コード長 | 608 bytes |
コンパイル時間 | 572 ms |
コンパイル使用メモリ | 65,192 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-20 07:19:21 |
合計ジャッジ時間 | 1,432 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include <iostream> #include <string> #include <vector> int main() { int N; std::cin >> N; int K; std::cin >> K; std::string S; std::cin >> S; std::vector<int> pos(S.size()); std::vector<std::pair<int, int> > vp; for(int i=0; i<pos.size(); i++) pos[i] = i+1; while(!S.empty()) { int i = S.find("()"); vp.push_back(std::pair<int, int>(pos[i],pos[i+1])); S.erase(S.begin()+i,S.begin()+i+2); pos.erase(pos.begin()+i,pos.begin()+i+2); } for(const auto &x : vp) { if(x.first==K) std::cout << x.second; else if(x.second==K) std::cout << x.first; } std::cout << std::endl; return 0; }