代码:
#include<cstdio>
#include<algorithm>
#include<string>
using namespace std;
struct node{
int w,s,c;
bool vis;
}nodes[1005];
bool cmp(node a,node b)
{
return a.w<b.w;
}
int num[1005];
int main()
{
int N,K,w,s,c;
scanf("%d %d",&N,&K);
for(int i=0;i<N;i++)
{
num[i]=i+1;
}
for(int i=0;i<K;i++)
{
scanf("%d %d %d",&nodes[i].w,&nodes[i].s,&nodes[i].c);
nodes[i].vis=false;
}
sort(nodes,nodes+K,cmp);
for(int i=1;i<=10105;i++)
{
for(int j=0;j<K;j++)
{
if(nodes[j].vis==false&&(nodes[j].s+nodes[j].c)==i)
{
for(int k=0;k<N;k++)
{
if(num[k]==0)
{
num[k]=nodes[j].w;
nodes[j].vis=true;
break;
}
}
}
}
for(int j=0;j<K;j++)
{
if(nodes[j].vis==false&&nodes[j].s==i)
{
for(int k=0;k<N;k++)
{
if(num[k]==nodes[j].w)
{
num[k]=0;
break;
}
}
}
}
}
for(int i=0;i<N;i++)
{
printf("%d ",num[i]);
}
return 0;
}