概要
整数の二進数表現を表す文字列が与えられる。
その文字列から一文字を削除し得られる整数を最大化し、それを表す二進数表現を出力せよ。
解法
一番先頭に近い 0 を消去します。
存在しない場合(=全て 1 の場合)はどこでもいいから削除します。
コード
int main() { cin.tie( 0 ); ios::sync_with_stdio( false ); string a; cin >> a; int pos = a.find( '0' ); if ( pos == string::npos ) { a.erase( 0, 1 ); } else { a.erase( pos, 1 ); } cout << a << endl; return 0; }