Uva 156 Ananagrams(字符串)
题目链接:https://vjudge.net/problem/UVA-156
题意
所有单词可以重排其中的字母,找出一串文本中不能重排为其他单词的单词。
思路
将所有单词标准化并记录出现次数,输出只出现一次的原单词。
代码
#include <bits/stdc++.h> using namespace std; map<string, int> mp; vector<string> v, ans; string normal(string s) { for (char &c : s) c = tolower(c); sort(s.begin(), s.end()); return s; } int main() { string s; while (cin >> s and s != "#") { v.push_back(s); ++mp[normal(s)]; } for (auto i : v) if (mp[normal(i)] == 1) ans.push_back(i); sort(ans.begin(), ans.end()); for (auto i : ans) cout << i << "\n"; }
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号