题目:
jxtxzzw和好朋友去探险,在山洞里jxtxzzw发现了许多古诗,他很兴奋地呼唤同伴过来,用相机把这些古诗拍下来。每个人都选了一部分进行拍照。

回到学校以后,所有人把相机中的照片导出,保存在电脑。

这时jxtxzzw发现,竟然当时没有让伙伴们按照顺序拍照。

现在这些照片根本就不是有序的,所以这些古代诗歌的碎片完全连不成一个整体。

好在现在有一个线索,在相邻的两张照片中,一定有一句是重复的。分别出现在两张碎片的头和尾。


样例:
input
2 3
This is the 3rd line.
This is the 4th line.
This is the 5th line.
This is the 1st line.
This is the 2nd line.
This is the 3rd line.

output
This is the 1st line.
This is the 2nd line.
This is the 3rd line.
This is the 4th line.
This is the 5th line.
思路:
将每一段的第一句和最后一句建立索引,最后一句和第一句相同的可以找到对应的句子。

代码:

#include <cstring>
#include <iostream>
#include <map>
#include <string>
using namespace std;
string s[1111][111];
map<string, int> parahead, paratail;
int p, l;
int main() {cin >> p >> l;cin.ignore();for (int i = 0; i < p; i++)for (int j = 0; j < l; j++) {getline(cin, s[i][j]);if (!j)parahead[s[i][j]] = i;if (j == l - 1)paratail[s[i][j]] = i;}int first = 0;for (int i = 0; i < p; i++) {if (!paratail.count(s[i][0])) {first = i;break;}}int point = first;for (int i = 0; i < p; i++) {if (point == first)cout << s[point][0] << endl;for (int j = 1; j < l; j++) {cout << s[point][j] << endl;}point = parahead[s[point][l - 1]];}return 0;
}

哈希值索引:恢复古诗相关推荐

  1. 【零基础学Java】—哈希值(四十一)

    [零基础学Java]-哈希值(四十一) 一. HashSet集合的介绍 java.util.Set接口 extends Collection接口 Set接口的特点: 不允许重复的元素 没有索引,没有带 ...

  2. 《恋上数据结构第1季》哈希表介绍以及从源码分析哈希值计算

    哈希表(Hash Table) 引出哈希表 哈希表(Hash Table) 哈希冲突(Hash Collision) JDK1.8的哈希冲突解决方案 哈希函数 如何生成 key 的哈希值 Intege ...

  3. 区块链-区块标识符:区块头哈希值和区块高度

    目录:https://blog.csdn.net/qq_40452317/article/details/89646633 区块链的数据结构是由包含交易信息的区块按照从远及近的顺序有序链接起来的.区块 ...

  4. ES索引恢复流程解析

    文章目录 背景 主分片恢复流程 INIT阶段 INDEX阶段 VERIFY_INDEX阶段 TRANSLOG阶段 FINALIZE阶段 DONE阶段 副分片恢复流程 流程概述 副分片节点处理过程 IN ...

  5. HashSet-哈希值

    哈希值(哈希码值)?     是JDK根据对象地址, 或者属性值, 计算出来的int类型的值      Object类中有一个方法可以获取对象的哈希值     public int hashCode( ...

  6. 获取文件哈希值_图解:什么是哈希?

    为什么要有哈希? 假设我们要设计一个系统来存储将员工手机号作为主键的员工记录,并希望高效地执行以下操作: 插入电话号码和相应的信息.(插入) 搜索电话号码并获取信息.(查找) 删除电话号码及相关信息. ...

  7. 当我发现Python字典中不同key可以有相同哈希值后——问渠那得清如许

    迷雾重重 我们知道,字典的key是不同重复的.那么Python怎么比较两个key是否相同呢?在回答这个问题之前,先来看一段代码. class Position():def __init__(self, ...

  8. 哈希值 哈希码_什么是哈希? 哈希码如何工作-带有示例

    哈希值 哈希码 哈希简介 (Introduction to hashing) Hashing is designed to solve the problem of needing to effici ...

  9. OS X各版本原厂系统镜像校验值索引

    OS X各版本原厂系统镜像校验值 索引 更新: 2019-05-14:添加了版本10.14.5的校验值 2019-03-26:添加如何从Apple直接下载macOS安装App一节.添加了版本10.14 ...

最新文章

  1. java 进程睡眠_Linux进程的睡眠和唤醒简析
  2. oracle11g中SQL优化(SQL TUNING)新特性之Adaptive Cursor Sharing (ACS)
  3. 简洁!get请求和post请求的区别——Web网络系列学习笔记
  4. ap计算机科学4分还要再考吗,CB官方发布2020年AP计算机科学考试(CSA)的细节:考试时间/考试题型/备考资料/评分标准/考前建议...
  5. .NET开源工作流CCFlow-快速入门
  6. 三:Java+SpringBoot框架使用(携带cookies信息访问的get接口开发)
  7. 苹果电脑程序坞不见了?怎样隐藏与显示电脑Dock栏
  8. ajaxSubmit问题求解
  9. MATLAB基本介绍(1)
  10. java 工作流引擎调研总结
  11. java读写yml文件
  12. 强化学习(实践):多臂老虎机,动态规划,时序差分
  13. python 005 __ 小斌文档 | 函数的定义和调用
  14. 国美易卡使用HTTP连接方式,国美易卡保证客户端状态
  15. vue $confirm 自定义图标及修改图标颜色
  16. 贝塞尔曲线轨迹运动原理与实战
  17. 计算机向u盘拷贝速度慢,U盘读写拷贝速度慢的解决措施
  18. firefox上传文件
  19. 大数据仓库技术实训任务2
  20. URI RUL和URN的区别(看不懂?)

热门文章

  1. vue-router3 源码注释系列 /src/util/push-state.js
  2. 十大排序--冒泡排序
  3. Python:字符数字语言魂,一字一符总关情
  4. GNSS+IMU+MM车载高精度组合导航定位系统
  5. 哈工大2022春CSAPP大作业
  6. Android手机实现GPS语音导航功能(Google地图导航)
  7. GitHub可能会用到的开源项目(转)
  8. 计算机绘画作品 星空,太空宇宙的绘画作品图片精选
  9. Word只读方式有哪些?
  10. 去掉String中空格