Cod sursa(job #752321)

Utilizator DumitracheIulianDumitrache Iulian DumitracheIulian Data 28 mai 2012 12:56:35
Problema Indep Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream in ("indep.in");
ofstream out("indep.out");
int const N=505;
int const M=1005;
int v[N],d[2][M][200];
int n;

void citire ()
{
    in>>n;
    for(int i=1;i<=n;i++)
        in>>v[i];
}
int cmmdc (int x, int y)
{
    int a=x, b=y, r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
void complet ()
{
    d[0][0]=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<=1000;j++)
            init(i%2,j);
        for(int j=0;j<=1000;j++)
        {
            int c=cmmdc(j,v[i]);
            d[i%2][c]+=d[(i-1)%2][j];
        }
        for(int j=0;j<=1000;j++)
            d[i%2][j]+=d[(i-1)%2][j];
        //for(int j=0;j<=10;j++)
        //    out<<d[i%2][j]<<" ";
        //out<<"\n";
    }
}
void afis ()
{
    out<<"\n\n\n";
    for(int i=0;i<=10;i++)
    {
        for(int j=0;j<=5;j++)
            out<<d[i][j]<<" ";
        out<<"\n";
    }
}
int main()
{
    citire();
    complet();
    //out<<d[n%2][1]<<"\n";
    //afis();
    return 0;
}