Pagini recente » Cod sursa (job #369678) | Cod sursa (job #1118251) | Cod sursa (job #1274678) | Istoria paginii runda/copacabana/clasament | Cod sursa (job #1491240)
#include <cstdio>
#include <algorithm>
#include <cstring>
#define maxN 100002
#define maxA 129
using namespace std;
int n, i, j, sol, np[maxA][maxA][maxA];
struct pset
{
int a;
int b;
int c;
}v[maxN];
int val(int y, int x)
{
if (x > 0)
return x % y;
while (x < 0)
x += y;
return x;
}
void read()
{
freopen("puteri.in", "r", stdin);
scanf("%d", &n);
for (i = 1; i <= n; ++ i)
scanf("%d %d %d", &v[i].a, &v[i].b, &v[i].c);
}
void solve()
{
int x, a, b, c;
for (x = 2; x < maxA; ++ x)
{
for (i = 1; i <= n; ++ i)
{
a = v[i].a;
b = v[i].b;
c = v[i].c;
sol += np[val(x, x - a)][val(x, x - b)][val(x, x - c)];
++ np[v[i].a % x][v[i].b % x][v[i].c % x];
}
memset(np, 0, sizeof(np));
}
}
void write()
{
freopen("puteri.out", "w", stdout);
printf("%d", sol);
}
int main()
{
read();
solve();
write();
return 0;
}