http://pat.zju.edu.cn/contests/pat-practise/1032


1032. Sharing (25)
时间限制
100 ms
内存限制
32000 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue

To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the same suffix. For example, "loading" and "being" are stored as showed in Figure 1.


Figure 1

You are supposed to find the starting position of the common suffix (e.g. the position of "i" in Figure 1).

Input Specification:

Each input file contains one test case. For each case, the first line contains two addresses of nodes and a positive N (<= 105), where the two addresses are the addresses of the first nodes of the two words, and N is the total number of nodes. The address of a node is a 5-digit positive integer, and NULL is represented by -1.

Then N lines follow, each describes a node in the format:

Address Data Next

where Address is the position of the node, Data is the letter contained by this node which is an English letter chosen from {a-z, A-Z}, and Next is the position of the next node.

Output Specification:

For each case, simply output the 5-digit starting position of the common suffix. If the two words have no common suffix, output "-1" instead.

Sample Input 1:
11111 22222 9
67890 i 00002
00010 a 12345
00003 g -1
12345 D 67890
00002 n 00003
22222 B 23456
11111 L 00001
23456 e 67890
00001 o 00010
Sample Output 1:
67890
Sample Input 2:
00001 00002 4
00001 a 10001
10001 s -1
00002 a 10002
10002 t -1
Sample Output 2:
-1
 注意前导零的输出。人家要5位的

[cpp]  view plain copy
  1. #include<iostream>  
  2. #include<cstdio>  
  3. #include<memory.h>  
  4. #include<algorithm>  
  5. #include<cstring>  
  6. #include<queue>  
  7. #include<cmath>  
  8. #include<vector>  
  9. #include<cstdlib>  
  10. #include<cmath>  
  11. #include<iomanip>  
  12. #include<string>  
  13. #include<map>  
  14.   
  15. using namespace std;  
  16.   
  17. struct Node{  
  18.     int next;  
  19.     Node():next(-1){}  
  20. };  
  21. Node nodes[1000001];  
  22. int visit[1000001];  
  23. int main(){  
  24.   
  25.     //freopen("in.txt", "r", stdin);  
  26.       
  27.     int s, t, n;  
  28.     int a, b;  
  29.     char c;  
  30.     cin>>s>>t>>n;  
  31.       
  32.     for(int i=0;i<n;++i){  
  33.         scanf("%d %c %d", &a, &c, &b);  
  34.         nodes[a].next = b;  
  35.     }  
  36.     memset(visit, 0, sizeof(visit));  
  37.     Node node;  
  38.     node.next = s;  
  39.     while(node.next!=-1){  
  40.         visit[node.next] = 1;  
  41.         node = nodes[node.next];  
  42.     }  
  43.   
  44.     node.next = t;  
  45.     while(node.next!=-1){  
  46.         if(visit[node.next]==1){  
  47.             cout<<setfill('0')<<setw(5);  
  48.             cout<<node.next<<endl;  
  49.             exit(0);  
  50.         }  
  51.         visit[node.next] = 2;  
  52.         node = nodes[node.next];  
  53.     }  
  54.     printf("-1\n");  
  55.   
  56.     //fclose(stdin);  
  57.     return 0;  
  58. }  
  59.           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS7各个版本镜像下载地址 # CentOS7.6 下载地址 # CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso # CentOS-7-x86_64-Everything-1810.iso CentOS 7.6 Everything版 10G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Everything-1810.iso # CentOS-7-x86_64-LiveGNOME-1810.iso CentOS 7.6 LiveGNOME版 1G 桌面版 http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-LiveGNOME-1810.iso # CentOS-7-x86_64-LiveKDE-1810.iso CentOS 7.6 LiveKDE版 2G 桌面版 http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-LiveKDE-1810.iso # CentOS-7-x86_64-Minimal-1810.iso CentOS 7.6 最小化版 918M http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso # CentOS-7-x86_64-NetInstall-1810.iso CentOS 7.6 网络安装版 http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-NetInstall-1810.iso # CentOS7.5 下载地址 # CentOS-7-x86_64-DVD-1804.iso CentOS 7.5 DVD 版 4G http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso # CentOS-7-x86_64-Everything-1804.iso CentOS 7.5 Everything版 10G http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso # CentOS-7-x86_64-LiveGNOME-1804.iso CentOS 7.5 LiveGNOME版 1G 桌面版 http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-LiveGNOME-1804.iso # CentOS-7-x86_64-LiveKDE-1804.iso CentOS 7.5 LiveKDE版 2G 桌面版 http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-LiveKDE-1804.iso # CentOS-7-x86_64-Minimal-1804.iso CentOS 7.5 最小化版 918M http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso # CentOS-7-x86_64-NetInstall-1804.iso CentOS 7.5 网络安装版 http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-NetInstall-1804.iso    PS:另外提供国内外各大网站镜像源,也可以下载处于维护的CentOS-Linux版本镜像 开源网站镜像: 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像站:http://mirrors.163.com/ 开源中国:http://mirrors.oschina.net/ 首都在线科技股份有限公司:http://mirrors.yun-idc.com/ 阿里云开源镜像:http://mirrors.aliyun.com/ LUPA:http://mirror.lupaworld.com/ 常州贝特康姆软件技术有限公司(原cn99):http://centos.bitcomm.cn/ 大学校园镜像: 中山大学镜像:http://mirror.sysu.edu.cn/ 山东理工大学:http://mirrors.sdutlinux.org/ 哈尔滨工业大学:http://run.hit.edu.cn/ 中国地质大学:http://cugbteam.org/ 大连理工大学:http://mirror.dlut.edu.cn/ 西南林业大学 http://cs3.swfu.edu.cn/cs3guide.html 北京化工大学(仅教育网可以访问),包含 CentOS 镜像:http://ubuntu.buct.edu.cn/ 天津大学:http://mirror.tju.edu.cn/ 西南大学:http://linux.swu.edu.cn/swudownload/Distributions/ 青岛大学:http://mirror.qdu.edu.cn/ 南京师范大学:http://mirrors.njnu.edu.cn/ 大连东软信息学院: http://mirrors.neusoft.edu.cn/ 浙江大学http://mirrors.zju.edu.cn/ 兰州大学:http://mirror.lzu.edu.cn/ 厦门大学:http://mirrors.xmu.edu.cn/ 北京理工大学: http://mirror.bit.edu.cn (IPv4 only) http://mirror.bit6.edu.cn (IPv6 only) 北京交通大学: http://mirror.bjtu.edu.cn (IPv4 only) http://mirror6.bjtu.edu.cn (IPv6 only) http://debian.bjtu.edu.cn (IPv4+IPv6) 上海交通大学: http://ftp.sjtu.edu.cn/ (IPv4 only) http://ftp6.sjtu.edu.cn (IPv6 only) 清华大学: http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6) http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only) http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only) 中国科学技术大学: http://mirrors.ustc.edu.cn/ (IPv4+IPv6) http://mirrors4.ustc.edu.cn/ http://mirrors6.ustc.edu.cn/ 东北大学: http://mirror.neu.edu.cn/ (IPv4 only) http://mirror.neu6.edu.cn/ (IPv6 only) 华中科技大学: http://mirrors.hust.edu.cn/ http://mirrors.hustunique.com/ 电子科技大学:http://ubuntu.uestc.edu.cn/ 电子科大凝聚工作室(Raspbian单一系统镜像) http://raspbian.cnssuestc.org/ 电子科大星辰工作室(少数小众发布版镜像) http://mirrors.stuhome.net/ PyPi 镜像 豆瓣:http://pypi.douban.com/ 山东理工大学:http://pypi.sdutlinux.org/ 中山大学:http://mirror.sysu.edu.cn/pypi/ V2EX:http://pypi.v2ex.com/simple/ RubyGems 镜像 中山大学:http://mirror.sysu.edu.cn/rubygems/ 山东理工大学:http://ruby.sdutlinux.org/ 淘宝网:http://ruby.taobao.org/ npm 镜像 cnpmjs:http://cnpmjs.org/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值