infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Bratie Fanut din Februarie 22, 2013, 16:05:44



Titlul: Problema puncte laticeale
Scris de: Bratie Fanut din Februarie 22, 2013, 16:05:44
Am sursa asta pt problema "Copaci":
Cod:
#include <fstream>
#include <stdlib.h>
using namespace std;

struct punct
{
    long long x, y;
};
punct v[100001];

long long n,i,a,b;

long long cmmdc( long long a, long long b )
{
long long r;
while( b )
{
r = a % b;
a = b;
b = r;
}
return a;
}


int main()
{
    ifstream f("copaci.in");
    ofstream g("copaci.out");

    f>>n;
    for(i=1;i<=n;i++)
    f>>v[i].x>>v[i].y;

    b=0;
    for(i=1;i<n;i++)
    b+=cmmdc(llabs(v[i].x-v[i+1].x),llabs(v[i].y-v[i+1].y));

     long long x1,x2,y1,y2;
    for(i=1;i+1<n;i++)
    {
        x1=v[i].x-v[0].x;
        y1=v[i].y-v[0].y;
        x2=v[i+1].x-v[0].x;
        y2=v[i+1].y-v[0].y;
        a+=x1*y2-x2*y1;
    }
    a=llabs(a*0.5);

    long long p=a-(b/2)+1;
    g<<p;
    f.close();
    g.close();
    return 0;
}
Obtin doar 60 de puncte, pe primele 4 teste iau WA. imi poate sugera cineva ceva?


Titlul: Răspuns: Problema puncte laticeale
Scris de: Mihai Calancea din Februarie 22, 2013, 16:13:36
De ce nu postezi pe topicul problemei?


Titlul: Răspuns: Problema puncte laticeale
Scris de: Bratie Fanut din Februarie 22, 2013, 16:22:25
Am postat acum :? scuze.. dar mam gandit ca daca nu sa mai postat ceva de aprox un an, nu imi va raspunde cineva prea devreme..


Titlul: Răspuns: Problema puncte laticeale
Scris de: Mihai Calancea din Februarie 22, 2013, 17:23:14
Nu are relevanta cand s-a postat ultima oara. Daca subiectul e inca deschis, ultimul post oricum apare la mesaje necitite pentru toata lumea.