zoukankan      html  css  js  c++  java
  • hdu1075

    链接:点击打开链接

    题意:给出一句话依照密文所相应的原文输出应该输出的内容。详细看题目例子就能够

    代码:

    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    using namespace std;
    char s[1000005][15];
    char s1[3005];
    int str[1000005][30],dis[1000005];
    int root;
    void in(char *s,int v){
        int u=0;
        for(;*s;s++){
            if(!str[u][*s-'a'])
            str[u][*s-'a']=root++;
            u=str[u][*s-'a'];
        }
        dis[u]=v;
    }
    int fi(char *s){
        int u=0;
        for(;*s;s++){
            if(!str[u][*s-'a'])
            return 0;
            u=str[u][*s-'a'];
        }
        return dis[u];
    }                                        //字典树模板查找密文所相应的原文
    int main(){
        char temp[3005];
        int i,j,len;
        memset(str,0,sizeof(str));
        memset(dis,0,sizeof(dis));
        memset(s,0,sizeof(s));
        scanf("%s",temp);
        i=root=1;
        while(1){
            scanf("%s",s[i]);                //用二维数组输入方便输出
            if(strcmp(s[i],"END")==0)
            break;
            scanf("%s",s1);
            in(s1,i);
            i++;
        }
        scanf("%s",temp);
        getchar();
        while(1){
            j=0;
            memset(s1,0,sizeof(s1));
            memset(temp,0,sizeof(temp));
            gets(s1);
            if(strcmp(s1,"END")==0)
            break;
    //        len=strlen(s1);
    //        if(s1[len-1]>='a'&&s1[len-1]<='z')
    //        continue;
            for(i=0;s1[i];i++){             //这个题最关键的就是假如最后一个单词没有标点不输出最后一个单词。。

    。 if(s1[i]>='a'&&s1[i]<='z') temp[j++]=s1[i]; else{ temp[j]=''; // cout<<temp<<endl; if(temp[0]!=''){ //这个就是将一句话中的单词拆出来 if(fi(temp)!=0) printf("%s",s[fi(temp)]); else printf("%s",temp); temp[0]=''; //将头变成''就可以 j=0; } printf("%c",s1[i]); } // if(s1[i]=='') // break; } printf(" "); } return 0; }


  • 相关阅读:
    show point on image
    vec2d
    Size类型如何调用和定义
    opencv数据类型和格式的坑
    IplImage 与mat之间的转换及释放内存
    linux平台程序高精度延时问题select-usleep等
    gettimeofday的使用
    列模式编辑文本
    【linux基础】如何开机自启动某个程序-linux工具-ubuntu
    查看camera设备-linux
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7096573.html
Copyright © 2011-2022 走看看