Cod sursa(job #3001263)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 13 martie 2023 14:05:32
Problema Tije Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#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
**/