class Solution {
public:
bool judge(int *a, int *b, int *c, int *d) {
//cout<<*a<<" "<<*b<<" "<<*c<<" "<<*d<<endl;
if((*a==*c && *b==*d) || (*a==*d && *b==*c)) return true;
else return false;
}
int numEquivDominoPairs(vector<vector<int>>& dominoes) {
int len = dominoes.size();
int *a = new int[len]();
int count = 0,sum = 0;
for(int i=0;i<len;i++) {
count = 0;
if(a[i]==1) continue;
for(int j=i+1;j<len;j++) {
if(a[j]==0) {
if(judge(&dominoes[i][0], &dominoes[i][1], &dominoes[j][0], &dominoes[j][1])) {
count++;
a[j]=1;
}
}
//cout<<i<<" "<<j<<" "<<count<<endl;
}
sum = sum + int(count*(count+1)/2);
a[i]=1;
}
delete []a;
return sum;
}
};