Pagini recente » Cod sursa (job #1765106) | Cod sursa (job #1746448) | Cod sursa (job #1737234) | Rating Dan Ion (danion) | Cod sursa (job #2201820)
#include <fstream>
#include <algorithm>
#define MOD 1000003
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int H[MOD], n, m;
struct drepte{
int a, b, c;
}dr[1005];
int Hash(int x, int y){ /// 1 = < 0 si 2 = >0
int rez = 0;
for(int i = 1; i <= n; ++i){
short faranume = dr[i].a * x + dr[i].b * y + dr[i].c;
if(faranume < 0)
rez = rez * 3 + 1;
else rez = rez * 3 + 2;
rez %= MOD;
}
return rez;
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; ++i)
fin >> dr[i].a >> dr[i].b >> dr[i].c;
for(int i = 1; i <= m; ++i){
int xx, yy;
fin >> xx >> yy;
H[i] = Hash(xx, yy);
}
sort(H + 1, H + m + 1);
int nrGrupe = 1;
for(int i = 2; i <= m; ++i)
if(H[i] != H[i - 1])
++nrGrupe;
fout << nrGrupe << '\n';
return 0;
}