#include #define pb push_back #define f first #define s second #define pii pair #define mp make_pair using namespace std; const string name = "A", in_file = name + ".in", out_file = name + ".out"; ifstream fin(in_file); ofstream fout(out_file); const int MAX = 1 << 12; int n; bitset visited; void print_nr(int nr) { for (int bit = n - 1; bit >= 0; bit--) { if (nr & (1 << bit)) { cout << 1; } else { cout << 0; } } cout << '\n'; } int main() { cin.sync_with_stdio(false); cin >> n; int current_number = 0; print_nr(current_number); visited[current_number] = 1; for (int i = 1; i < (1 << n); i++) { for (int bit = 0; bit < n; bit++) { int value = current_number & (1 << bit); int temp; if (value) { temp = current_number - (1 << bit); } else { temp = current_number + (1 << bit); } if (!visited[temp]) { current_number = temp; visited[current_number] = true; print_nr(current_number); break; } } } return 0; }