Cod sursa(job #2647849)

Utilizator eugen5092eugen barbulescu eugen5092 Data 6 septembrie 2020 18:26:56
Problema Nunta Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
using namespace std;

ifstream ci("nunta.in");
ofstream cou("nunta.out");

int n;

int calc_comb(int b,int a){
    //comb de b luate cate a
    int rez=1;
    int a_b;
    int ra=1,rb_a=1;
    int b_a=b-a;
    for(int i=2;i<=b;i++){
        rez*=i;
        while(rez%ra==0&&ra<=a){
            rez/=ra;
            ra++;
        }
        while(rez%rb_a==0&&rb_a<=b_a){
            rez/=rb_a;
            rb_a++;
        }
    }
    return rez;

}

void rez(){
    int k,p,sm=0,nrgr,rez=0;
    if(n%2==0){
        k=0;
        while(k<=n){
            nrgr=(n-k)/2;
            rez+=calc_comb(nrgr+k,nrgr);
            k+=2;
        }

    }else{
        k=1;
        while(k<=n){

            nrgr=(n-k)/2;
            rez+=calc_comb(nrgr+k,nrgr);
            //cout<<k<<" "<<nrgr<<" "<<nrgr+k<<" "<<calc_comb(nrgr+k,nrgr)<<" "<<n<<"\n";
            k+=2;
        }
    }
    cou<<rez;
}

int main()
{
    ci>>n;

    rez();
    return 0;
}