class Solution {
public:
long long interchangeableRectangles(vector<vector<int>>& rectangles) {
//思路:化简->求组合数
map<pair<int, int>, int> mp;
long long ans = 0; //10的5次方求组合数,用long long !!!
for (auto &i : rectangles) {
int tmp = gcd(i[0], i[1]);
i[0] /= tmp;
i[1] /= tmp;
ans += mp[pair(i[0], i[1])];
mp[pair(i[0], i[1])]++;
}
return ans;
}
};