Pagini recente » Cod sursa (job #2121314) | Cod sursa (job #1072368) | Cod sursa (job #783535) | Cod sursa (job #756280) | Cod sursa (job #1555832)
#include <fstream>
#include <unordered_set>
#include <vector>
#include <bitset>
using namespace std;
constexpr int maxn = 1010;
struct dreapta{
int a, b, c; };
struct punct{
int x, y; };
int calc(const dreapta d, const punct p){
return d.a * p.x + d.b * p.y + d.c; }
int main(){
ifstream f("regiuni.in");
ofstream g("regiuni.out");
int n, m;
f >> n >> m;
static vector<dreapta> drepte(n);
static vector<punct> puncte(m);
for(auto& d : drepte){
f >> d.a >> d.b >> d.c; }
for(auto& p : puncte){
f >> p.x >> p.y; }
static vector<bitset<maxn>> car(m, 0);
for(int j = 0; j < m; ++j){
for(int i = 0; i < n; ++i){
car[j][i] = (calc(drepte[i], puncte[j]) > 0); } }
unordered_set<bitset<maxn>> sets;
for(const auto& x : car){
sets.insert(x); }
g << sets.size();
return 0; }