blob: 858c3db416ca1736274018df877a63cae8ade491 (
plain)
1
2
3
4
5
6
7
8
9
10
11
|
bool next(string& s, int n, char mi = '0', char ma = '1') {
for (int i = sz(s), j = sz(s); i < n; i++)
s.push_back(s[i % j]);
while(!s.empty() && s.back() == ma) s.pop_back();
if (s.empty()) {
s = mi;
return false;
} else {
s.back()++;
return true;
}}
|