• Source
    1. #include<bits/stdc++.h>
    2.  
    3. using namespace std;
    4.  
    5. vector<string>store,ans;
    6.  
    7. map<string,int>mp;
    8.  
    9. map<string,string>mp1;
    10.  
    11. void solve()
    12. {
    13. int len = store.size();
    14.  
    15. for(int i=0; i<len; i++)
    16. {
    17. string s = store[i];
    18.  
    19. int slen = s.length();
    20.  
    21. for(int j=0; j<slen; j++)
    22. {
    23. s[j] = tolower(s[j]);
    24. }
    25.  
    26. sort(s.begin(),s.end());
    27.  
    28. mp[s]++;
    29.  
    30. mp1[s] = store[i];
    31. }
    32. }
    33.  
    34. int main()
    35. {
    36. string s;
    37.  
    38. int i,len;
    39.  
    40. stringstream ss;
    41.  
    42. while(getline(cin,s))
    43. {
    44. if(s=="#")
    45. break;
    46.  
    47. ss<<s;
    48.  
    49. while(ss>>s)
    50. {
    51. store.push_back(s);
    52. }
    53.  
    54. ss.clear();
    55. }
    56.  
    57. solve();
    58.  
    59. map<string,int>::iterator it;
    60.  
    61. for(it=mp.begin(); it!=mp.end(); it++)
    62. {
    63. if(it->second==1)
    64. {
    65. ans.push_back(mp1[it->first]);
    66. }
    67. }
    68.  
    69. sort(ans.begin(),ans.end());
    70.  
    71. len = ans.size();
    72.  
    73. for(i=0; i<len; i++)
    74. {
    75. cout<<ans[i]<<"\n";
    76. }
    77.  
    78. return 0;
    79. }