Pagini recente » Cod sursa (job #3194564) | Cod sursa (job #1686589) | Cod sursa (job #1663742) | Cod sursa (job #1724840) | Cod sursa (job #1336031)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int main()
{
int n,v[1001]={0},w[1001]={0},sumica=0;f>>n;
for(int i=1;i<=n;i++)f>>v[i]>>w[i];
for(int i=1;i<=n;i++)
for(int l=i+1;l<=n;l++)
{
if(v[i]>v[l]){int aux=v[i];v[i]=v[l];v[l]=aux;}
if(w[i]>w[l]){int aux=w[i];w[i]=w[l];w[l]=aux;}
}
int m=0,s[1001]={0},si[1001]={0},o=0;
int z=n;
for(int i=1;i<n;i++)
{
int ct=0;
while(v[i]==v[i+1]){ct++;i++;}
if(ct>0)s[++m]=ct*(ct+1)/2;
}
for(int l=1;l<n;l++)
{
int ct=0;
while(w[l]==w[l+1]){ct++;l++;}
if(ct>0)si[++o]=ct*(ct+1)/2;
}
for(int i=1;i<m;i++)
for(int l=i+1;l<=m;l++)
sumica+=s[i]*s[l];
int sumik=0;
for(int i=1;i<o;i++)
for(int l=i+1;l<=o;l++)
sumik+=si[i]*si[l];
cout<<sumik+sumica;
return 0;
}