检索关键字

时间限制: 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. bzoj3944: Sum 杜教筛板子题

    板子题(卡常) 也可能是用map太慢了 /************************************************************** Problem: 3944 Us ...

  2. MyBatis:4

    转载:http://www.cnblogs.com/xrq730/p/5289638.html 什么是动态SQL MyBatis的一个强大特性之一通常是它的动态SQL能力.如果你有使用JDBC或其他相 ...

  3. 微信公众号平台开发(二)信息的分类.md

    在上一篇博客中,我们只是简单地与微信服务器建立了连接,接下来就是从微信服务器中接收信息了.在SecurityController中,我定义了两个方法(get和post).Get方法是我们用来与微信服务 ...

  4. 浅谈Obejct.assign

    Object.assign属于浅拷贝 Object.assign只能拷贝:可被枚举的属性,自有属性,string或者Symbol类型是可以被直接分配的 var ab={ name:"没有被覆 ...

  5. 小L的区间求和

    题目描述 在给定的一个整数序列中,小L希望找到一个连续的区间,这个区间的和能够被k整除,请你帮小L算一下满足条件的最长的区间长度是多少. 输入 第一行输入两个整数n.k.(1 <= n < ...

  6. Our supersheet

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. superset 安装配置

    一.配置python虚拟环境,请参考 superset依赖python3.6环境 https://www.cnblogs.com/xibuhaohao/p/9994854.html 二.安装配置sup ...

  8. centos6:一个网卡上显示多个ip地址的错误

    网卡显示如下:  上面显示em1有两个ip地址,其中36是设置的固定IP,212这个ip不清楚怎么搞出来的,但是通过212地址也能够正常连接主机.重启网卡之后,还是没有变化. 网卡em1配置如下,/e ...

  9. L1-020 帅到没朋友

    当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友.本题就要求你找出那些帅到没有朋友的人. 输入格式: 输入第一行给出一个正整数N(≤100),是已知朋友圈的个数:随后N行,每行首先给 ...

  10. 玩转X-CTR100 | X-Assistant串口助手控制功能

      更多塔克创新资讯欢迎登陆[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]       X-CTR100控制器配套的X-Assistant串口调试 ...