Cod sursa(job #674692)

Utilizator octavianOctavian Crintea octavian Data 6 februarie 2012 17:11:42
Problema Numarare triunghiuri Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <stdlib.h>

#define TRIANGLE(a, b, c)\
    (a) <= (b) + (c) && (b) <= (a) + (c) && c <= (a) + (b) ? 1 : 0

int main() {
    FILE *fin = fopen("ntri.in", "r"), *fout = fopen("ntri.out", "w");
    int N, *l, i, j, k, No = 0;

    fscanf(fin, "%d", &N);
    l = malloc(N * sizeof(int));
    for (i = 0; i < N; i++) {
        fscanf(fin, "%d", &l[i]);
    }

    for (i = 0; i < N - 2; i++) {
        for (j = i + 1; j < N - 1; j++) {
            for (k = j + 1; k < N; k++) {
                if (TRIANGLE(l[i], l[j], l[k])) {
                    No++;
                }
            }
        }
    }

    fprintf(fout, "%d\n", No);

    fclose(fin);
    fclose(fout);

    return 0;
}