zoukankan      html  css  js  c++  java
  • HDOJ.1075 What Are You Talking About(map)

    What Are You Talking About

    点我跳转到题面
    点我一起学习STL-MAP

    题意分析

    首先第一组START-END给出翻译的字典,第二组START-END给出一句话,查找里面出现的单词,若字典中有则输出翻译后的内容,没有则原封不动输出。

    代码总览

    /*
        Title:HDOJ.1075
        Author:pengwill
        Date:2016-11-21
    */
    #include <iostream>
    #include <string>
    #include <string.h>
    #include <map>
    #include <stdio.h>
    using namespace std;
    string s;
    char s1[100000],s2[100000];
    char str[100000];
    int main()
    {
        freopen("in.txt","r",stdin);
        typedef map<string,string> mmp;
        mmp mp;
        mmp::iterator iter;
        int i;
        char ch;
        for(i = 0;i<2;i++){
            if(i==0){
                cin>>s1;
                if(strcmp(s1,"START") == 0){
                    while(cin>>s1){
                        if(strcmp(s1,"END")==0){
                            break;
                        }else{
                            cin>>s2;
                            mp[s2] = s1;
                        }
                    }
                }
            }else if(i == 1){
                cin>>s1;
                if(strcmp(s1,"START") == 0){
                        while(gets(str)){
                            int len = strlen(str),i,judge =2;
                            if(strcmp(str,"END")==0){
                                break;
                            }
                            for(i = 0;i<len;i++){
                                while(str[i]>='a'&&str[i]<='z'){
                                    s+=str[i];
                                    i++;
                                    judge = 1;
                                }
                                if(judge==1){
                                    if(mp.count(s)){
                                        iter = mp.find(s);
                                        cout<<iter->second;
                                    }else{
                                        if(s.compare("END") == 0){
                                            break;
                                        }else{
                                            cout<<s;
                                        }
                                    }
                                    judge = 0;
                                    s.clear();
                                }
                                cout<<str[i];
                            }
                            if(judge == 1||judge ==0){
                               printf("
    ");
                            }
                        }
                }
            }
        }
        return 0;
        fclose(stdin);
    }
    
  • 相关阅读:
    springboot整合mybatis
    nginx
    mysql安装
    oracle安装静默
    网卡
    kafak部署
    在docker环境下安装activemq和rabbitmq
    docker安装
    【1213工作日志】ZYNQ的中断应用
    【CAN总线】CAN总线总结
  • 原文地址:https://www.cnblogs.com/pengwill/p/7367229.html
Copyright © 2011-2022 走看看