ãããé¢ç½ãåé¡ï¼
åé¡æ¦è¦
åã®æåå
ãä¸ããããã
ãããã®æååããç°ãªã 2 ã¤ã®æååãé¸ã¶æ¹æ³ã§ãã£ã¦ããããã®æååãäºãã«ã¢ãã°ã©ã ã¨ãªã£ã¦ãããã®ã®åæ°ãæ±ããã
å¶ç´
èãããã¨
ã¾ãã¯ãåé¡ã®æ¡ä»¶ãããããããè¨ãæãããã¨ãèããããã¤ã¾ããã2 ã¤ã®æåå ãäºãã«ã¢ãã°ã©ã ã§ãããã¨ããæ¡ä»¶ã¯è¤éãªã®ã§ããããããããããè¨ãæãããã®ã ã
äºãã«ã¢ãã°ã©ã ãã©ãããå¤å®ããç°¡åãªæ¹æ³ã¨ãã¦ã
ãã¢ã«ãã¡ãããé ã«ã½ã¼ããã¦ãä¸è´ãããã©ããã調ã¹ã
ã¨ãããã®ããããããã«æ°ã¥ãããããã°ããã¨ã¯ç°¡åã ãä¸ããããåæåå ã«ã¤ãã¦ãããããã½ã¼ããã¦ãããããããä¸ã§ã次ã®é£æ³é
åãå®ç¾©ãããã
nums[str]
ï¼æåå ã®ãã¡ãã½ã¼ãå¾ã®æååã
str
ã§ãããããªãã®ã®åæ°
ããããæ±ã¾ãã°ããã¨ã¯ãåæåå str
ã«å¯¾ãã¦ããã®åæ°ã ã¨ãã¦
ã足ãã¦ããã°è¯ãã
è¨ç®éã¯ãæåå ã®é·ãã®æ大å¤ã
ã¨ãã¦ã
ã¨ãªãã
ã³ã¼ã
#include <bits/stdc++.h> using namespace std; int main() { int N; string S; cin >> N; map<string, long long> nums; for (int i = 0; i < N; i++) { cin >> S; sort(S.begin(), S.end()); nums[S]++; } long long res = 0; for (auto [str, num] : nums) { res += num * (num - 1) / 2; } cout << res << endl; }