zoukankan      html  css  js  c++  java
  • (使用STL中的数据结构进行编程7.3.15)UVA 630 Anagrams (II)(求一个单词在字典中出现的次数)

    /*
     * UVA_630.cpp
     *
     *  Created on: 2013年11月4日
     *      Author: Administrator
     */
    
    #include <iostream>
    #include <cstdio>
    #include <map>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    
    int main(){
    	int t;
    	scanf("%d",&t);
    	while(t--){
    		multimap <string,string> mp;
    		string str;
    
    		int n;
    		scanf("%d",&n);
    
    		int i;
    		for(i = 0 ; i < n ; ++i){
    			cin >>str;
    
    			string temp = str;
    			sort(temp.begin(),temp.end());
    			mp.insert(make_pair(temp,str));//map中保存的数据形式是(有序串,原串) 有序串用于比较,原串用于输出
    		}
    
    		while(cin >> str,str != "END"){
    
    			string tp = str;
    			sort(tp.begin(),tp.end());
    
    			cout<<"Anagrams for: "<<str<<endl;
    			int count = 1;
    			bool flag = false;
    			for(map<string,string>::iterator it = mp.begin() ; it != mp.end() ; ++it){
    				if(tp == (*it).first){
    					flag = true;
    					printf("%3d) %s
    ",count++,(*it).second.c_str());
    				}
    			}
    
    			if(flag == false){
    				cout<<"No anagrams for: "<<str<<endl;
    			}
    		}
    
    		if(t){//注意:千万别漏了,测试数据之间要输出空行...
    			cout<<endl;
    		}
    	}
    
    	return 0;
    }
    
    


  • 相关阅读:
    2017年系统架构设计师论文范文
    在SQL Server 2008中执行透明数据加密(转自IT专家网)
    开发笔记
    [置顶] GO-Gin框架快速指南
    [置顶] JS-逆向爬虫
    [置顶] ES篇
    [置顶] GO
    [置顶] 爬虫入狱指南
    [置顶] websocket
    [置顶] Linux篇
  • 原文地址:https://www.cnblogs.com/pangblog/p/3424090.html
Copyright © 2011-2022 走看看