#include <iostream> #include <algorithm> #include <vector> using namespace std; struct We { int n; int t; vector < int > liczby; }; void wczytaj(We& we) { cin >> we.n; cin >> we.t; int ile_liczb = 1 << we.n; we.liczby.resize(ile_liczb); for (int i = 0; i < ile_liczb; ++i) { cin >> we.liczby[i]; } } void rozwiaz(We& we) { if( we.t % 2 == 1 ) { reverse(we.liczby.begin(), we.liczby.end()); } int max_idx = we.liczby.size() - 1; for( int i = 0; i < max_idx; ++i ) { cout << we.liczby[i] << " "; } cout << we.liczby[max_idx] << endl; } int main() { ios_base::sync_with_stdio(false); We we; wczytaj(we); rozwiaz(we); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <iostream> #include <algorithm> #include <vector> using namespace std; struct We { int n; int t; vector < int > liczby; }; void wczytaj(We& we) { cin >> we.n; cin >> we.t; int ile_liczb = 1 << we.n; we.liczby.resize(ile_liczb); for (int i = 0; i < ile_liczb; ++i) { cin >> we.liczby[i]; } } void rozwiaz(We& we) { if( we.t % 2 == 1 ) { reverse(we.liczby.begin(), we.liczby.end()); } int max_idx = we.liczby.size() - 1; for( int i = 0; i < max_idx; ++i ) { cout << we.liczby[i] << " "; } cout << we.liczby[max_idx] << endl; } int main() { ios_base::sync_with_stdio(false); We we; wczytaj(we); rozwiaz(we); } |