Cod sursa(job #2831066)

Utilizator rapidu36Victor Manz rapidu36 Data 10 ianuarie 2022 20:05:41
Problema Abc2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>

using namespace std;

const int N = 16000;

int v[N];

void permavg(int v[], int n)
{
    if (n == 1)
    {
        v[0] = 1;
        return;
    }
    int m = n / 2;///nr. de elemente pare
    permavg(v, m);///obtin o permutare valida de ordinul m=n/2
    for (int i = 0; i < m; i++)
    {
        v[i] *= 2;///obtin numerele pare din {1,2,,..,n}, care verifica propr: v[k]!=(v[i]+v[j])/2, pentru i<k<j
    }
    permavg(v + m, n - m);///obtin o permutare valida de ordinul n-m
    for (int i = m; i < n; i++)
    {
        v[i] = 2 * v[i] - 1;///obtin numerele impare din {1,2,,..,n}, care verifica propr...
    }
    ///cum media dintre un v[i] cu 0<=i<m si un v[j] cu m<=j<n NU e numar natural => am obtinut o permutare valida
}

int main()
{
    int n;
    ifstream in("permavg.in");
    ofstream out("permavg.out");
    in >> n;
    in.close();
    permavg(v, n);
    for (int i = 0; i < n; i++)
    {
        out << v[i] << " ";
    }
    out.close();
    return 0;
}