Cod sursa(job #1856408)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 24 ianuarie 2017 20:17:15
Problema Poligon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#define N 1010

using namespace std;

ifstream f("poligon.in");
ofstream g("poligon.out");

vector<pair<int,int > > vec;
vector<pair<int,int > > rec;

int i,j,n,m,x,y,k,t,p,r,s;
int det(int poz1,int poz2,int poz3)
{
    int s,s1,s2,s3,s4,s5,s6;
    s1=vec[poz1].first*vec[poz2].second;
    s2=vec[poz1].second*rec[poz3].first;
    s3=vec[poz2].first*rec[poz3].second;
    s4=vec[poz2].second*rec[poz3].first;
    s5=rec[poz3].second*vec[poz1].first;
    s6=vec[poz1].second*vec[poz2].first;
    s=s1+s2+s3-s4-s5-s6;
    return s;
}
int main()
{
    f>>n>>m;
    p=n;
    r=m;
    while(p!=0)
    {
        f>>x>>y;
        vec.push_back(make_pair(x,y));
        p--;
    }
    while(r!=0)
    {
        f>>x>>y;
        rec.push_back(make_pair(x,y));
        r--;
    }
    int ok=1,nr=0;
    for(i=0;i<rec.size();i++)
    {
        ok=1;
        for(j=0;j<vec.size()-1;j++)
        if(det(j,j+1,i)>0)
        {
            ok=0;
            break;
        }
        if(ok==1)
            nr++;
    }
    g<<nr;
}