Cod sursa(job #1255053)

Utilizator catalincraciunCraciun Catalin catalincraciun Data 4 noiembrie 2014 10:51:19
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
/// Craciun Catalin
///  Cerc
#include <iostream>
#include <cmath>
#include <fstream>
#include <vector>

#define NMax 2005

using namespace std;

ifstream f("cerc.in");
ofstream g("cerc.out");

int n;
int X[NMax], Y[NMax], R[NMax];
vector<double> m;

int compare(double first, double second) {

    if (first >= second - (double)0.00001 && first <= second + (double)0.00001)
        return 0;
    if (first < second)
        return -1;
    return 1;
}

bool extCircles (int first, int second) {

    if (R[first]+R[second] >= sqrt((X[first]- X[second])*(X[first]-X[second]) + (Y[first]-Y[second])*(Y[first]-Y[second])))
        return true;
    return false;
}

void read() {

    f>>n;
    for (int i=1;i<=n;i++)
        f>>X[i]>>Y[i]>>R[i];
    f.close();
}

int main() {

    read();
    for (int i=1;i<=n;i++) {
        double panta = ((double)Y[i])/((double)X[i]);
        bool found = false;
        for (int j=0;j<m.size();j++)
            if (compare(panta, m[j]) == 0) {
                found = true;
                break;
            }

        if (!found)
            m.push_back(panta);
    }

    g<<m.size();

    g.close();

    return 0;
}