Cod sursa(job #21548)

Utilizator astronomyAirinei Adrian astronomy Data 23 februarie 2007 20:33:12
Problema Triplete Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
#include <set>
#include <utility>
using namespace std;

#define mp(x,y) (make_pair((x), (y)))
#define min(a,b) ((a) < (b) ? (a) : (b))
#define max(a,b) ((a) > (b) ? (a) : (b))

int N, M;
set< pair<int, int> > T;

int main(void)
{
    freopen("triplete.in", "rt", stdin);
    freopen("triplete.out", "wt", stdout);

    int i, j, k, res = 0;

    scanf("%d %d\n", &N, &M);

    for(i = 1; i <= M; i++)
        scanf("%d %d\n", &j, &k), T.insert( mp(min(j,k), max(j,k)) );

    for(i = 1; i <= N; i++)
     for(j = i+1; j <= N; j++)
      for(k = j+1; k <= N; k++)
       if( T.find(mp(i,j)) != T.end() && T.find(mp(j,k)) != T.end() &&
            T.find(mp(i,k)) != T.end() )
            res++;

    printf("%d\n", res);
        
    return 0;
}