#include <stdio.h>
#include <algorithm>
#include <vector>
using namespace std;
vector <int> talia;
void swapx(int l,int sr,int p);
void tasuj(int lewy, int prawy);
int main()
{
int n,t,p;
scanf ("%i %i", &n,&t);
while (scanf("%i", &p)==1)
{
talia.push_back(p);
}
if(t%2)
{
tasuj(0,talia.size()-1);
}
for(int i=0;i<talia.size();i++)
printf("%i ",talia[i]);
return 0;
}
void tasuj(int lewy, int prawy)
{
int sr;
if(lewy<prawy)
{
sr=(lewy+prawy)/2;
swapx(lewy,sr,prawy);
tasuj(lewy, sr);
tasuj(sr+1, prawy);
}
}
void swapx(int l,int sr,int p)
{
for(int i=l;i<=sr;i++)
{
swap(talia[i],talia[i+sr+1-l]);
}
}
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 42 | #include <stdio.h> #include <algorithm> #include <vector> using namespace std; vector <int> talia; void swapx(int l,int sr,int p); void tasuj(int lewy, int prawy); int main() { int n,t,p; scanf ("%i %i", &n,&t); while (scanf("%i", &p)==1) { talia.push_back(p); } if(t%2) { tasuj(0,talia.size()-1); } for(int i=0;i<talia.size();i++) printf("%i ",talia[i]); return 0; } void tasuj(int lewy, int prawy) { int sr; if(lewy<prawy) { sr=(lewy+prawy)/2; swapx(lewy,sr,prawy); tasuj(lewy, sr); tasuj(sr+1, prawy); } } void swapx(int l,int sr,int p) { for(int i=l;i<=sr;i++) { swap(talia[i],talia[i+sr+1-l]); } } |
English