1032. Sharing (25)
来源:互联网 发布:linux 双网卡双网关 编辑:程序博客网 时间:2024/06/07 06:20
1. 原题: https://www.patest.cn/contests/pat-a-practise/1032
2. 思路:
题意:
找两个单词的共同后缀,不过给出的不是链表,
而是静态链表。
思路:
用数组下标模拟链表。分别求出两个单词长度,
然后把词尾对齐,然后逐一比较是否相同。
不要用cin,会超时。
找两个单词的共同后缀,不过给出的不是链表,
而是静态链表。
思路:
用数组下标模拟链表。分别求出两个单词长度,
然后把词尾对齐,然后逐一比较是否相同。
不要用cin,会超时。
3. 源码(已AC):
#include<iostream>using namespace std;struct Node//链表的结点{char ch;//存储字符int next;//下一个地址};const int M = 100000;int s1, s2, N;Node w[M];int getLen(int s);//取得一个单词的长度int main(){freopen("in.txt", "r", stdin);scanf("%d %d %d", &s1, &s2, &N);for (int i = 0; i < N; i++){int ad;scanf("%d", &ad);scanf(" %c %d", &w[ad].ch, &w[ad].next);}int len1 = getLen(s1);int len2 = getLen(s2);int p1, p2;for(p1 = s1; len1 > len2; len1--)//进行对齐p1 = w[p1].next;for(p2 = s2; len2 > len1; len2--)p2 = w[p2].next;while(p1 != -1 || p2 != -1)//逐一比较{if(p1 == p2){printf("%05d\n", p1);break;}p1 = w[p1].next;p2 = w[p2].next;}if(p1 == -1 && p2 == -1)//无相同后缀printf("-1\n");return 0;}int getLen(int s)//取得一个单词的长度{int cnt = 0;while(s != -1){cnt++;s = w[s].next;}return cnt;}
0 0
- 1032. Sharing (25)
- 1032. Sharing (25)-PAT
- 【PAT】1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- PAT 1032. Sharing (25)
- PAT 1032. Sharing (25)
- PAT 1032. Sharing (25)
- PAT:1032. Sharing (25)
- 1032. Sharing (25)
- PAT 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- 1032. Sharing (25)
- pat 1032. Sharing (25)
- C3P0,Dbutils4mysql分页
- J.U.C--locks--ReentrantLock
- 直线的旋转与相交,计算几何(Morley定理,uva 11178)
- Ubuntu下的截图工具
- View相关知识点
- 1032. Sharing (25)
- 关系数据库:概念理解 —— 范式
- maven 父子模块
- [K大子串 后缀自动机 模板题] BZOJ 3998 [TJOI2015]弦论
- Java 1.8 新特性之(Lambda表达式)
- 创建二叉树,并先序遍历
- 【IMX6UL开发板试用体验】OpenWRT有线网络的配置
- c++判断文件编码格式
- SPOJ-GSS7 Can you answer these queries VII(树上区间最大和)