#include <bits/stdc++.h>
using namespace std;
int main() {
const int n = 5;
int nthBit = 1 << n;
for (int i = 0; i < nthBit; ++i) { // equivalent to pow(2, n)
// generate bitmask, from 0..00 to 1..11
string bitmask = bitset<n + 1>(i | nthBit).to_string();
cout << bitmask << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWNvbnN0IGludCBuID0gNTsKCQoJaW50IG50aEJpdCA9IDEgPDwgbjsKCWZvciAoaW50IGkgPSAwOyBpIDwgbnRoQml0OyArK2kpIHsgIC8vIGVxdWl2YWxlbnQgdG8gcG93KDIsIG4pCgkgICAgLy8gZ2VuZXJhdGUgYml0bWFzaywgZnJvbSAwLi4wMCB0byAxLi4xMQoJICAgIHN0cmluZyBiaXRtYXNrID0gYml0c2V0PG4gKyAxPihpIHwgbnRoQml0KS50b19zdHJpbmcoKTsKCSAgICAKCSAgICBjb3V0IDw8IGJpdG1hc2sgPDwgZW5kbDsKCX0KCXJldHVybiAwOwp9