Pagini recente » Cod sursa (job #2744660) | Cod sursa (job #1422627) | Cod sursa (job #1553972) | Cod sursa (job #1926256) | Cod sursa (job #984352)
Cod sursa(job #984352)
#include <fstream>
#include <list>
#define MAXN 1005
using namespace std;
ifstream f("regiuni.in");
ofstream g("regiuni.out");
short int n,m,a[MAXN],b[MAXN],c[MAXN],nrg=1,aux,p;
int x,y;
list< pair<short int,short int> > l[MAXN];
list< pair<short int,short int> >::iterator it;
int main()
{
short int i,j;
f>>n>>m;
for(i=1;i<=n;i++)
f>>a[i]>>b[i]>>c[i];
for(i=1;i<=m;i++){
f>>x>>y;
l[1].push_back(make_pair(x,y));}
for(i=1;i<=n;i++){
aux=nrg;
for(j=1;j<=aux;j++){
it=l[j].begin();
x=(*it).first;
y=(*it).second;
if(x*a[i]+y*b[i]+c[i]>0)
p=1;
else
p=-1;
it++;
for(it;it!=l[j].end();it++){
x=(*it).first;
y=(*it).second;
if((x*a[i]+y*b[i]+c[i])*p<0){
l[nrg+1].push_back(*it);
it=l[j].erase(it);
it--;}}
if(!l[nrg+1].empty())
nrg++;}}
g<<nrg<<'\n';
f.close();
g.close();
return 0;
}