poj-2503 Babelfish

原创 2012年03月28日 23:24:32
                                                          F - Babelfish
Crawling in process...Crawling failedTime Limit:3000MS    Memory Limit:65536KB    64bit IO Format:%I64d & %I64u

Description

You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.

Input

Input consists of up to 100,000 dictionary entries, followed by a blank line, followed by a message of up to 100,000 words. Each dictionary entry is a line containing an English word, followed by a space and a foreign language word. No foreign word appears more than once in the dictionary. The message is a sequence of words in the foreign language, one word on each line. Each word in the input is a sequence of at most 10 lowercase letters.

Output

Output is the message translated to English, one word per line. Foreign words not in the dictionary should be translated as "eh".

Sample Input

dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslay

atcay
ittenkay
oopslay

Sample Output

cat
eh
loops
先定义一个结构体用来储存字典,然后对字典中的英文进行排序,输入单词,进行查找,若找到,输出相对应的英文,若找不到则就输出eh.
#include<stdio.h>  
#include<string.h>  
#include<stdlib.h>  
struct diction
{  
    char eng[11];
    char fn[11];
};  
struct diction a[1000001];   
  
int fcmp(const void * a,const void *b)
{  
    return strcmp(((diction*)a)->fn, ((diction*)b)->fn);  
}  
  
int cmp(const void* a, const void* b) 
{  
    return strcmp((char*)a, ((diction*)b)->fn);  
}  
  
int main()  
{  
    int i,j,k,sum,sign,len;  
    char str[30];  
    struct diction *p;  
    sum=0;  
    sign=0;  
    while(gets(str))  
    {  
        len=strlen(str);  
        if(len==0)  
            break;  
        else  
        {  
            for(i=0;i<len;i++)  
            {  
                if(str[i]==' ')  
	     			break;
                a[sum].eng[i]=str[i];  
            }  
            a[sum].eng[i]='\0'; 
            for(j=i+1,k=0;j<len;j++,k++)  
		    	a[sum].fn[k]=str[j]; 
			a[sum].fn[k]='\0';  
            sum++;  
        }  
    }  
    qsort(a,sum,sizeof(diction),fcmp); 
    while(gets(str))  
    {  
        p=(diction*)bsearch(str,a,sum,sizeof(diction),cmp);
        if(p)  
            puts(p->eng);  
       else  
            puts("eh");  
    }  
   return 0; 
}  

教程:Win下安装Node.js提示Erro2502和2503报错无法安装的解决方法.

简易教程。 这是msi安装提示报错的范例。 导致这种问题的原因一般有两个: 一个可能是原来安装过Node.js不过没有卸载干净 另一个可能就是msi安装包的权限问题。 ...
  • MoeDisk
  • MoeDisk
  • 2016年10月07日 12:15
  • 4355

解决win8及8.1安装mysql等msi类型文件2503,2502的问题

当我们在装较大型软件的时候总会遇到一些问题,尤其是win8或者更高window系统。最近由于换电脑需要重新安装mysql,好不容易下载安装版,结果提示我不能安装,于是我就开始了网上搜寻资料的问题,下面...
  • qq_25218095
  • qq_25218095
  • 2016年01月04日 14:48
  • 3816

BZOJ 2503 相框 分类讨论

BZOJ 2503 相框 分类讨论
  • wzq_QwQ
  • wzq_QwQ
  • 2015年10月05日 16:34
  • 1054

POJ2503-Babelfish

  • 2011年07月31日 00:06
  • 6KB
  • 下载

POJ 2503 Babelfish(STL、二分、字典树、哈希)

DescriptionYou have just moved from Waterloo to a big city. The people here speak an incomprehensibl...
  • so_so_y
  • so_so_y
  • 2017年08月09日 20:58
  • 113

POJ 2503——Babelfish

这一题也没什么思路很直接,直接用字典树cunchu
  • u014436243
  • u014436243
  • 2014年08月06日 15:12
  • 265

poj2503Babelfish(Trie tree 或者map)

->题目还是戳这里 题目大意:还是给你一个字典,翻译单词。 题目分析:题目蛮简单,字典树练手题。不过STL可以水过。输入有点小刁难,需要小心点,其他的就没什么了。 详情请见代码: #include ...
  • ophunter
  • ophunter
  • 2013年05月17日 20:30
  • 679

POJ 2503 Babelfish [map & string]

poj 2503 babel fish
  • u013583400
  • u013583400
  • 2017年01月22日 17:15
  • 85

POJ2503 Babelfish Trie树

Problem Address:http://poj.org/problem?id=2503 Trie树(即字典树)。 动态创建。 第一次写字典树,写得很快,连最后的DEBUG都不用,没想到居然一次A...
  • Human_CK
  • Human_CK
  • 2011年03月24日 23:20
  • 473

[POJ2503] Babelfish

You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect o...
  • UISG103
  • UISG103
  • 2017年07月15日 08:41
  • 86
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj-2503 Babelfish
举报原因:
原因补充:

(最多只允许输入30个字)