检索关键字

时间限制: 1000ms
内存限制: 65536KB

64位整型:      Java 类名:

类型:

没有

 

没有
 
难度
 
    lv.1
 
    lv.2
 
    lv.3
 
    lv.4
 
    lv.5
 
    lv.6
 
    lv.7
 
    lv.8
 
    lv.9
 
    lv.10
 
搜索
 
数据结构
 
动态规划
 
STL练习
 
高精度计算
 
图论
 
几何
 
数学
 
矩阵计算
 
入门题目
 
字符串
 
博弈论
                  添加

题目描述

有一些关键字,现在给你一个字符串,请你根据此字符串,将关键字根据相关关系排列方便检索。1
字符串长度相同的关键字才有关系,两个字符串在相同位置的相同字符越多则关系越密切,若一样多则字典序越小越密切。

 

输入

多行(少于101),每行一个字符串(只含小写字母,长度不超过1000),连续多行的字符个数相同,视为一组输出,每组的最后一个字符为给你的字符串。

 

输出

每组数据按照相关关系密切程度排序

 

样例输入

aaa
bab
aba
acdes
abcde
aaaaa

样例输出

aaa
bab
abcde
acdes

题意:输入未知数量的的字符串,1>相同长度的视为一组    2>最后一组为比较样例   3>其他的与此比较,按相同位置的相同字符数量从大到小、若相同数量的话,则按字典序顺序输出解决方案:字符串处理,输入时字符串长度相同的为一组,可以先把所有的数据读完再分组处理也可以读一组处理一组。也可一个一个字符串地输入,再进行比较

#include <iostream>
#include <algorithm>
using namespace std;

typedef struct node
{
string s;
int count;
}N;
N n[110];

bool cmp(const N &t1,const N &t2)
{
if(t1.count==t2.count)
return t1.s<t2.s;
return t1.count>t2.count;
}

int main()
{
int num=0;
string s1;
cin>>s1;
n[0].s=s1;
int len=s1.size();
while(cin>>s1)
{
if(len==s1.size())
n[++num].s=s1;
else
{
if(num!=0)
{
for(int i=0;i<num;++i)
{
n[i].count=0;
for(int j=0;j<n[0].s.size();++j)
if(n[i].s[j]==n[num].s[j])
n[i].count++;
}

sort(n,n+num,cmp);
for(int i=0;i<num;++i)
cout<<n[i].s<<endl;
}
num=0;
len=s1.size();
n[0].s=s1;
}
}

if(num!=0)
{
for(int i=0;i<num;++i)
{
n[i].count=0;
for(int j=0;j<n[0].s.size();++j)
if(n[i].s[j]==n[num].s[j])
n[i].count++;
}

sort(n,n+num,cmp);
for(int i=0;i<num;++i)
cout<<n[i].s<<endl;
}
return 0;
}

检索关键字 nyoj的更多相关文章

  1. 用lucene.net根据关键字检索本地word文档

    目前在做一个winform小软件,其中有一个功能是能根据关键字检索本地保存的word文档.第一次是用com读取word方式(见上一篇文章),先遍历文件夹下的word文档,读取每个文档时循环关键字查找, ...

  2. Android百度地图开发04之POI检索

    POI检索 POI~~~ Point of Interest,翻译过来就是“兴趣点”.我们在使用地图的时候,搜索周边的ktv,饭店,或者宾馆的时候,输入关键字,然后地图展示给我们很多个点, 这些点就是 ...

  3. ElasticSearch(十)Elasticsearch检索出的数据列表按字段匹配的优先顺序及搜索单词拼音一部分搜不到数据

    检索出的数据列表按字段匹配的优先顺序 一.举例 比如,发布一篇文章,文章包括基本的字段包括标题.发布时间.点击率.关键字.内容.当在页面中输入“教育”搜索关键词,会检索出指定字段包括“教育”的所有数据 ...

  4. Js实现页面关键字高亮显示

    <!DOCTYPE HTML> <html lang="en"> <meta http-equiv="Content-Type" ...

  5. MyBatis 错误日志检索

    当怀疑是sql语句执行存在错误时,可以用一下关键字检索日志文件: 检索关键字: Cause: SQLException sql原始报错内容: [DEBUG] [2016-05-03 09:37:05 ...

  6. (转载) 百度地图工具类封装(包括定位,附近、城市、范围poi检索,反地理编码)

    目录视图 摘要视图 订阅 赠书 | 异步2周年,技术图书免费选      程序员8月书讯      项目管理+代码托管+文档协作,开发更流畅 百度地图工具类封装(包括定位,附近.城市.范围poi检索, ...

  7. 如何在Github快速找到资源(资源快速检索)

    github 资源检索 Github上的资源如漫天星辰,如果没有技巧,盲目的瞎找,想找到自己想要学习的的知识和资源如大海捞针!!!! 掌握正确的方法,可以说是"妈妈再也不用担心,你找不到代码 ...

  8. Unity 序列化 总结

    查找了 Script Serialization http://docs.unity3d.com/Manual/script-Serialization.html 自定义序列化及例子: http:// ...

  9. 【转载】Lucene.Net无障碍学习和使用:搜索篇

    在上一篇中,我们初步理解了索引的增删改查基本操作.本文着重介绍一下常用的搜索,以及搜索结果的排序和分页.本文的搜索主要是基于前一篇介绍的文本文件的索引,建议下载最后改进的demo对照着看阅读本文,同时 ...

随机推荐

  1. python-day70--django-Mysql-单表增删改查

    项目名:bookmanage app01文件夹 内的 __init__.py import pymysql pymysql.install_as_MySQLdb() app01文件夹 内的models ...

  2. 68. Text Justification *HARD*

    Given an array of words and a length L, format the text such that each line has exactly L characters ...

  3. .NET 性能优化方法总结==转

    .NET 性能优化方法总结 目录 目录 1. C#语言方面... 4 1.1 垃圾回收... 4 1.1.1 避免不必要的对象创建... 4 1.1.2 不要使用空析构函数 ★... 4 1.1.3 ...

  4. JavaScript 自定义文本框光标——初级版

    文本框(input或textarea)的光标无法修改样式(除了通过color修改光标颜色).但笔者希望个人创建自己的网站时,文本框的光标有属于自己的风格.所以,尝试模拟文本框的光标,设计有自己风格的光 ...

  5. IBM、HPUX、Solaris不同之处

  6. Windows折腾之路 兼谈纯净强迫情节

    早期新鲜感 想当年,终于有了第一台属于自己自由处置的电脑,1.2Ghz的CPU,256兆的内存.这在CPU刚刚上1G的年代,不说顶级,也算主流.操作系统呢,在别人的帮助下,装上新鲜的XP,各种的华丽, ...

  7. if...then

    我到现在明白一些道理 有些事情是徒劳无功的 有些却不是 世间事不过如此,只要你肯付出相应的代价,你就可以得到.

  8. Linux就该这么学笔记

    https://www.linuxprobe.com/========================================================================= ...

  9. HDU 1590 Searching(求复数向量和的极限)

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  10. opencv数据类型和格式的坑

    //cv::Mat uvp = cv::Mat::zeros(2, probp.size(), CV_8UC1); cv::Mat uvp = cv::Mat::zeros(2, probp.size ...