Pagini recente » Cod sursa (job #3139245) | Cod sursa (job #1126807) | Cod sursa (job #1047038) | Cod sursa (job #2730504) | Cod sursa (job #3001263)
#include <bits/stdc++.h>
#pragma GCC optimize ("O3")
#pragma GCC target ("popcnt")
using namespace std;
ifstream fin ("tije.in");
ofstream fout ("tije.out");
const int MAX_N = 100;
int n;
static inline void move_ball(const int &p1, const int &p2){
fout<<p1<<" "<<p2<<"\n";
}
void solve(int start){
for(int i=start+1; i<=n-1; i++)
move_ball(start, i);
for(int pas=1; pas<=start; pas++)
move_ball(n, start);
if(start != n-1){
for(int i=n-1; i>=start+1; i--){
for(int pas=1; pas<=start; pas++)
move_ball(i, i+1);
move_ball(i, start);
}
solve(start+1);
}else{
for(int pas=1; pas<=n; pas++)
move_ball(n+1, n);
return;
}
}
int main(){
ios_base::sync_with_stdio(false);
fin.tie(nullptr), fout.tie(nullptr);
fin>>n;
for(int i=1; i<=n; i++)
move_ball(i, n+1);
solve(1);
return 0;
}
/**
1 5 4 3 2
2 5 1 4 3
3 5 1 2 4
4
5 1 2 3
1 2 3 4 5
**/