class BinaryIncrementation {
public:
string plusOne(string x) {
reverse( ALL(x) );
int sum = 0;
for(int i=0; i<x.size(); ++i){
sum += (x[i] == '1') * (1 << i);
}
++sum;
string s;
while( sum ){
s += '0' + ( sum & 1);
sum /= 2;
}
reverse( ALL(s) );
return s;
}
};
SRM前で追い出された。残りはまた後で。
500
1100
0 件のコメント :
コメントを投稿