題解 UVA156 【Ananagrams】
阿新 • • 發佈:2019-03-31
沒有 str algo += ostream class 紫書 Language tor
自認為稍微比紫書代碼好理解一些,可能有點慢,但對我這樣的蒟蒻友好很多。 和紫書比較大的區別主要在我用map對應的是標準化字符串和輸入的字符串
//Uva 156 #include<iostream> #include<map> #include<string> #include<algorithm> using namespace std; string dc[1010]; void zh(string& znow) //將字符串標準化 { int len=znow.size(); for(int i=0;i<len;i++) { if(znow[i]<=‘Z‘&&znow[i]>=‘A‘) znow[i]+=32; } sort(znow.begin(),znow.end()); } int main() { map<string,string>smap; //將字符串映射到標準化的字符串 string now; cin>>now; while(now!="#") { string znow=now; zh(znow); if(smap.count(znow)==0) //map裏沒有標準化字符串,添加 { smap[znow]=now; } else //map裏已有標準化字符串,刪除(變為*) { smap[znow]="*"; } cin>>now; } int a=0; map<string,string>::iterator iter; for(iter=smap.begin();iter!=smap.end();iter++) { if(iter->second!="*") //只出現過一次的標準化字符串 dc[a++]=iter->second; } sort(dc,dc+a); //排序 for(int j=0;j<a;j++) cout<<dc[j]<<endl; return 0; }
題解 UVA156 【Ananagrams】