1032. Sharing (25)
来源:互联网 发布:传感器java 编辑:程序博客网 时间:2024/06/05 17:17
题目地址:http://www.patest.cn/contests/pat-a-practise/1032
链表考研真题
/*1032. Sharing (25)http://www.patest.cn/contests/pat-a-practise/1032利用deque 很容易实现 不过采用链表LNode的实现差不多也类似,写起来麻烦点*/#include <stdio.h>#include <stdlib.h>#include <math.h>#include <vector>#include <string>#include <unordered_map>#include <queue>#include <algorithm>#include <iostream>using namespace std;#define N 100005int addr1 , addr2 , n ;struct data{ int addr ; char da ; int nextaddr;};data tdata[N];int main(){ //freopen("in.txt","r",stdin); scanf("%d%d%d",&addr1,&addr2,&n); int i , j ; int a1,a2; char c; for(i = 0 ; i < n ; i ++) { scanf("%d %c %d",&a1,&c,&a2); tdata[a1].addr = a1; tdata[a1].da = c; tdata[a1].nextaddr = a2; } deque<data> vd1,vd2; int t = addr1; while(t != -1) { vd1.push_back(tdata[t]); t = tdata[t].nextaddr; } t = addr2; while(t != -1) { vd2.push_back(tdata[t]); t = tdata[t].nextaddr; } int ans = -1 ; while(!vd1.empty() && !vd2.empty()) { data d1 = vd1.back() ; data d2 = vd2.back() ; if(d1.da == d2.da && d1.addr == d2.addr && d1.nextaddr == d2.nextaddr) { ans = d1.addr; vd1.pop_back(); vd2.pop_back(); }else{ break; } } if(ans == -1) printf("-1"); else printf("%05d\n",ans); return 0;}
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)
- 模态ViewController及单例
- 项目开发注意事项
- UI_UIGestureRecognizer(触摸手势)
- zoj 3724(离线处理+树状数组)
- 并发 并行 同步 异步 多线程的区别
- 1032. Sharing (25)
- LeetCode之Repeated DNA Sequences
- 文章只要修改或编辑就进入不可见状态?
- 高仿系列————主页界面(storyboard)
- 依赖注入和控制反转区别
- iOS多线程
- java数据传参数与传值
- 关于setContentPane()和getContentPane()的应用
- SpringMVC Json