https://atcoder.jp/contests/abc158/tasks/abc158_d
こちらの問題を解こうとしたのが以下のコードになります。(これで提出したらno matching function for call to ‘std::basic_string<char>::insert(int, char&)’
となってしまいましたがこれの改善方法もわかりません。)
自分はinsert
を使って解こうとしたのですが詰まったので断念して解説を見たらpop_front/pop_back
を使って解いていたのですが、競プロ界隈で有名なけんちょんさんという方がinsert
でも解けるとブログに書いていらっしゃったので解こうとしたのですがなんとなく違う気がするので解決のヒントをご教授いただきたく投稿させていただきます。またinsertとpush_back/push_frontはどう使い分けたらいいでしょうか?よろしくお願い致します。
#include <bits/stdc++.h> using namespace std; int main(){ string s; int q; cin >> s >> q; for (int i=0;i<q;++i){ int type; cin >> type; if (type==1){ reverse(s.begin(),s.end()); } if (type==2){ int f; char c; if (f==1){ s.insert(0,c); } if (f==2){ s.insert(s.end(),c); } } } cout << s << endl; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/05 12:37
2020/05/06 00:03
2020/05/06 02:01
2020/05/06 08:14
2020/05/06 09:10
2020/05/06 09:55
2020/05/06 12:08
2020/05/08 08:58
2020/05/08 10:16