24 feb. 2013

Furnici altruiste

Problema cu furnicile harnice, au prea mult si s-au hotarat sa imparta la greieri. Pot da unui greier o singura unitate de mancare(boaba grau), toate dau cat da cea mai saraca familie, dar se pot inprumuta intre ele, daca se imprumuta se pierde pe drum 1 unitate de mancare pentru fiecare unitate de distanta(metru) parcursa.
Fisier de intrare:
4
20 300
40 400
340 700
360 600

#include <iostream>
#include <fstream>

using namespace std;

//fisier de intrare
ifstream fin("ants.in");

int main()
{
    //n - numarul de familii de furnici
    //i - index pentru parcurgere
    long n,i;
    //a - distanta pana la tunel
    //b - boabe in plus
    //ap - distanta familiei precedente fata de tinel
    //s - suma boabelor in plus
    double a,b,ap,s=0;
    fin>>n;

    //prima familie
    fin>>a>>b;

    s+=b;
    ap=a;

    //celelalte n-1 familii
    for(i=1;i<n;i++)
    {
        fin>>a>>b;
        b=b-(a-ap);
        s+=b;
        ap=a;
    }

    fin.close();
    //media boabelor exceptand costul drumului
    cout<<(s/n);

    return 0;
}

23 feb. 2013

Basic C++ Hello World

#include <iostream>
#include <conio.h>
using namespace std;

int main ()
{
  cout << "Hello World!";
  getch();
  return 0;
}