1133 Splitting A Linked List (25 分)

Splitting A Linked List

版本1

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
struct node{
	int add,value,index,next,tag;
}E[maxn];
bool cmp(node a, node b){
	if(a.tag != b.tag) return a.tag < b.tag;
	else return a.index < b.index;

}

int main(){
	int p,n,add,value,next,t=0,k;
	cin>>p>>n>>k;
	for(int i=0;i<maxn;i++){
		E[i].index = maxn;
		E[i].tag = maxn;
	}
	for(int i=0;i<n;i++){
		cin>>add>>value>>next;
		E[add].add = add;
		E[add].value = value;
		E[add].next = next;
	}
	
	while(p!=-1){
		if(E[p].value < 0) E[p].tag=0;
		else if(E[p].value <= k) E[p].tag=1;
		else E[p].tag=2;
		E[p].index=t;
		p = E[p].next;
		t++; 
	}
	sort(E,E+maxn,cmp); 
	
	//输出 
	for(int i=0;i<t;i++){
		printf("%05d %d",E[i].add,E[i].value);
		if(i!=t-1) printf(" %05d\n",E[i+1].add);
		else printf(" -1\n");
	}
	return 0;
} 
全部评论

相关推荐

07-15 11:43
门头沟学院 Java
点赞 评论 收藏
分享
程序员小白条:主要没亮点,项目也是网上的,平平无奇,那只能海投了,奖项总得有一些,然后就是现在最好是前后端都会,自己能做项目并且运维的,要么找星球项目改改,要么找个开源项目改改,自己能拓展功能才是主要的,跟做效率很低很低
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务