Cod sursa(job #1106339)

Utilizator AeroHHorea Stefan AeroH Data 12 februarie 2014 18:42:01
Problema Regiuni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>
#include <algorithm>
using namespace std;
FILE*fin=fopen("regiuni.in","r");
FILE*fout=fopen("regiuni.out","w");
int MOD=1e9+7;
int i,j,k,N,M,cr,X,Y;
int main()
{
    long long int h[1002];
    int m[1001][3];
    fscanf(fin,"%d%d",&N,&M);
    for (i=1;i<=N;++i)
            fscanf(fin,"%d%d%d",&m[i][1],&m[i][2],&m[i][3]);
    for (i=1;i<=M;++i)
        {
            fscanf(fin,"%d%d",&X,&Y);
            for (j=1;j<=N;++j)
                {
                    if (m[j][1]*X+m[j][2]*Y+m[j][3]>0)
                    {
                        h[i]+=m[j][1]*(1<<30)+m[j][2]*(1<<15)+m[j][3];
                        h[i]%=MOD;
                    }
                }
        }
    sort(h+1,h+M+1);
    fprintf(fout,"%d\n",unique(h+1,h+M+1)-h-1);
    return 0;
}