浙大PAT甲级 1052
2016-08-23 18:58
274 查看
简单的结构体排序,需注意的是:
若开始的输入地址为-1,则输出应为0 -1。
可采用map<int,node> 来将地址与结点做映射。
AC代码:
#include<iostream>
#include<vector>
#include<map>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
#include<list>
#include<set>
#include<stack>
#include<cmath>
#define inf 26*26*26*10+5
using namespace std;
struct node
{
int id;
int data;
int next;
};
vector<node> v;
bool cmp(node x,node y)
{
return x.data<y.data;
}
map<int,node> mm;
int main()
{
int n;
cin>>n;
int sta;
cin>>sta;
for(int i=0;i<n;i++)
{
node tmp;
cin>>tmp.id>>tmp.data>>tmp.next;
mm[tmp.id]=tmp;
}
while(sta!=-1)
{
v.push_back(mm[sta]);
sta=mm[sta].next;
}
if(v.empty())
{
cout<<0<<" -1";
return 0;
}
sort(v.begin(),v.end(),cmp);
printf("%d %05d\n",v.size(),v[0].id);
for(int i=0;i<v.size();i++)
{
if(i==v.size()-1)
{
printf("%05d %d -1\n",v[i].id,v[i].data);
}
else
{
printf("%05d %d %05d\n",v[i].id,v[i].data,v[i+1].id);
}
}
}
若开始的输入地址为-1,则输出应为0 -1。
可采用map<int,node> 来将地址与结点做映射。
AC代码:
#include<iostream>
#include<vector>
#include<map>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cstring>
#include<list>
#include<set>
#include<stack>
#include<cmath>
#define inf 26*26*26*10+5
using namespace std;
struct node
{
int id;
int data;
int next;
};
vector<node> v;
bool cmp(node x,node y)
{
return x.data<y.data;
}
map<int,node> mm;
int main()
{
int n;
cin>>n;
int sta;
cin>>sta;
for(int i=0;i<n;i++)
{
node tmp;
cin>>tmp.id>>tmp.data>>tmp.next;
mm[tmp.id]=tmp;
}
while(sta!=-1)
{
v.push_back(mm[sta]);
sta=mm[sta].next;
}
if(v.empty())
{
cout<<0<<" -1";
return 0;
}
sort(v.begin(),v.end(),cmp);
printf("%d %05d\n",v.size(),v[0].id);
for(int i=0;i<v.size();i++)
{
if(i==v.size()-1)
{
printf("%05d %d -1\n",v[i].id,v[i].data);
}
else
{
printf("%05d %d %05d\n",v[i].id,v[i].data,v[i+1].id);
}
}
}
相关文章推荐
- * 浙大PAT甲级 1043
- 浙大PAT甲级 1050
- 浙大PAT甲级 1058
- 浙大PAT甲级 1073
- 浙大PAT甲级 1084
- **浙大PAT甲级 1103 dfs+快速幂
- *浙大PAT甲级 1110 判断是否为完全二叉树
- 浙大 PAT 甲级1009
- 浙大PAT甲级-1008
- 浙大PAT甲级-1048
- 浙大pat | 浙大pat 牛客网甲级 1098. Insertion or Heap Sort (25)判断是哪种排序方式
- 浙大pat | 牛客网甲级 1062 To Buy or Not to Buy (20)
- *浙大PAT甲级 1056
- 浙大PAT甲级 1074
- 浙大PAT甲级 1084
- *浙大PAT甲级 1107 并查集
- 浙大PAT甲级1019. General Palindromic Number (20)
- 浙大pat | 浙大pat 牛客网甲级 1010 Build A Binary Search Tree (30) 二叉搜索树
- 浙大PAT甲级 1026
- 浙大PAT甲级 1059