博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构 i_love(我喜欢)
阅读量:6571 次
发布时间:2019-06-24

本文共 1147 字,大约阅读时间需要 3 分钟。

数据结构 i_love(我喜欢)

 

问题描述

  集训队的学长们都怪怪的,如果 A 学长喜欢 B 学长, A 就会把自己的名字改

成«I_love_<B 学长的名字>»。但是奇怪的学长们很容易移情别恋,他们经常互
相喜欢来喜欢去。现在给出 n 个学长的名字和 m 个喜欢的记录,请你输出编号为
1 的学长最后的名字。

★数据输入
输入第一行为一个正整数 n。
接下来的 n 行,每行有一个学长的名字。(由大小写字母和下划线组成,长
度小于 25)
第 n+2 行为一个正整数 m。
接下来 m 行,每行两个数 u,v。表示编号为 u 的学长喜欢编号为 v 的学长。
(1<=u,v<=n)
80%的数据 1<=n,m<=1000.
100%的数据 1<=n,m<=100000.

★数据输出
输出一个字符串,表示第一个学长最后的名字。

输入示例 输出示例
5
anonymous
natalia
LeBron
Tanya_Romanova
MikeMirzayanov
6
1 2
3 4
2 1
4 3
1 4
3 2
I_love_I_love_I_love_Ta
nya_Romanova

输入示例 输出示例
2
MikhailRubinchik
evol_I
1
1 2
I_love_evol_I

解题思路

  使用like[]数组记录喜欢的人的index,使用height[]数组记录喜欢的层级(有多少个I_love_)

 

code

1 #include 
2 #include
3 4 char names[100002][26]; 5 int like[100002]; 6 int height[100002]={
0}; 7 8 int main() 9 {10 // freopen("test.txt","r",stdin);11 int i,j;12 int num;13 scanf("%d",&num);14 getchar();15 16 for(i=1;i<=num;i++)17 {18 scanf("%s",names[i]);19 getchar();20 }21 22 int m,a,b;23 24 for(i=1;i<=num;i++) like[i]=i;25 scanf("%d",&m);26 for(i=0;i

 

转载于:https://www.cnblogs.com/cbattle/p/7577428.html

你可能感兴趣的文章
易语言 --什么情况下 用许可证
查看>>
项目总结:凡事预则立,不预则废!
查看>>
ORA-32004: obsolete and/or deprecated parameter(s)
查看>>
建属于自己的网站
查看>>
[linux] ubuntu 切换默认的/bin/sh
查看>>
Web Bench (网站压力测试工具)
查看>>
boost库之智能指针
查看>>
linux c/c++ GDB教程详解(转载)
查看>>
centos7下安装Python的pip
查看>>
华为HCIE 面试战报
查看>>
C++ 一些知名的库
查看>>
用busybox创建一个不足50M的Linux
查看>>
在redhat server 6 安装gcc-4.5.2
查看>>
我的友情链接
查看>>
自定义View Client 登录方式(一)
查看>>
rsync搭建使用
查看>>
一台服务器上同时运行多个MySQL
查看>>
cenOS+nginx+php+mysql (非一键包安装)
查看>>
优秀程序员不一定是优秀的软件设计师
查看>>
JS系列
查看>>