Pagini recente » Cod sursa (job #1771573) | Cod sursa (job #3211602) | Cod sursa (job #3214480) | Cod sursa (job #1915924) | Cod sursa (job #37607)
Cod sursa(job #37607)
/*
ID: CipriFilipas
PROG: regiuni
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <set>
#include <stdio.h>
using namespace std;
FILE* fout = fopen("regiuni.out", "wt");
vector<vector<bool> > a;
vector<vector<int> > e;
vector<int> sel;
int n, m, nr;
void Read();
int Verif(int a, int b, int c, int x, int y);
int main()
{
Read();
fprintf(fout, "%d", nr);
fclose(fout);
return 0;
}
void Read()
{
FILE* fin = fopen("regiuni.in", "rt");
fscanf(fin, "%d %d", &n, &m);
e.resize(m+1);
a.resize(n+1);
sel.resize(n+1);
for(int i = 1; i <= m; i++)
e[i].resize(4);
for(int i = 1; i <= n; i++)
a[i].resize(m+1);
for(int i = 1; i <= m; i++)
{
fscanf(fin, "%d %d %d", &e[i][1], &e[i][2], &e[i][3]);
}
int x, y;
for(int i = 1; i <= n; i++)
{
fscanf(fin, "%d %d", &x, &y);
for(int j = 1; j <= m; j++)
{
if(Verif(e[j][1], e[j][2], e[j][3], x, y) > 0) a[i][j] = -1;
else a[i][j] = 1;
}
}
for(int i = 1; i <= n; i++)
{
if(sel[i] == 0) sel[i] = nr;
for(int j = 1; j <= n; j++)
{
if(a[i] == a[j])
{
sel[j] = nr;
}
}
nr++;
}
fclose(fin);
}
int Verif(int a, int b, int c, int x, int y)
{
int val = 0;
val = a*x + b*y + c;
return val;
}