zoukankan      html  css  js  c++  java
  • UVA-10391 Compoud Words

    You are to find all the two-word compound words in a dictionary. A two-word compound word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary. Input Standard input consists of a number of lowercase words, one per line, in alphabetical order. There will be no more than 120,000 words. Output Your output should contain all the compound words, one per line, in alphabetical order. Sample Input a alien born less lien never nevertheless new newborn the zebra Sample Output alien newborn

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<iostream>
    #include<string>
    using namespace std;
    const int maxn=2e5;
    int a[maxn], t = -1, sum = 0;
    char s[maxn][30], ch1[30], ch2[30];
    
    int Hash(char *str)
    {
    	int seed = 31, hash = 0;
    	while (*str)
    		hash = hash * seed + *str++;
    	return hash & 0x7FFFFFFF;
    }
    int Find(int key, int l, int r)
    {
    	int mid = (l + r) / 2;
    	if(l>r) return 0;
    	if(a[mid]==key) return 1;
    	else if(a[mid]>key) Find(key, l, mid - 1);
    	else  Find(key, mid + 1, r);
    }
    int main()
    {
    	int i, j, k, l;
    	while(gets(s[++t])) a[t] = Hash(s[t]);
    	sort(a, a + t);
    	for (i = 0; i<t; i++)
    	{
    		l = strlen(s[i]);
    		for (j = 0; j<l - 1; j++)
    		{
    			for (k = 0; k <= j; k++)
    				ch1[k] = s[i][k];
    			ch1[j + 1] = '';
    			for (k = j + 1; k<l; k++)
    				ch2[k - j - 1] = s[i][k];
    			ch2[l - j - 1] = '';
    			if (Find(Hash(ch1), 0, t - 1) + Find(Hash(ch2), 0, t - 1) == 2) 
    			{
    				printf("%s
    ",s[i]);
    				break; 
    			}
    		}
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    【6666】分组背包
    Designing a RESTful API with Python and Flask 201
    把手账打印成书 把回忆装订成册
    sql基本操作语句
    sql serve基础
    sql serve存储过程
    TCP/IP 之 大明王朝邮差 (转)
    HBASE基础(4):语法(2) API (1) DDL
    bochsrc
    CentOS 6 bochs-2.6 gdb 调试 linux 0.11——bochsrc-hdc-gdb.bxrc
  • 原文地址:https://www.cnblogs.com/csushl/p/9386502.html
Copyright © 2011-2022 走看看