Pagini recente » Cod sursa (job #2865745) | Cod sursa (job #1639751) | Cod sursa (job #1621943) | Cod sursa (job #2158052) | Cod sursa (job #908043)
Cod sursa(job #908043)
#include<cstdio>
#include<vector>
#include<list>
using namespace std;
list<vector<pair<int,int> > > S;
vector<pair<int,int> > V,VV;
int a[1010],b[1010],c[1010],i,n,m,x,y,SOL,j;
int main()
{
freopen("regiuni.in","r",stdin);
freopen("regiuni.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)scanf("%d%d%d",&a[i],&b[i],&c[i]);
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
V.push_back(make_pair(x,y));
}
SOL=1;
S.push_back(V);
V.resize(0);
for(i=1;i<=n;i++)
{
list<vector<pair<int,int> > >::iterator it=S.begin();
m=S.size();
for(;m;--m)
{
it=S.begin();
for(vector<pair<int,int> >::iterator jt=(*it).begin();jt!=(*it).end();jt++)
{
x=jt->first;y=jt->second;
if(a[i]*x+b[i]*y+c[i]>0)V.push_back(make_pair(x,y)); else VV.push_back(make_pair(x,y));
}
if(V.size()&&VV.size())SOL+=1;
if(V.size())S.push_back(V);
V.resize(0);
if(VV.size())S.push_back(VV);
VV.resize(0);
S.pop_front();
}
}
printf("%d\n",SOL);
}