rt,不会调了
#include <bits/stdc++.h>
using namespace std;
class Killer
{
public:
int u,v;
}a[60001];
int blood[1001],last[1001],res[1001],n,m;
int back(int t)
{
int alive(0),i;
for(i=t+1;i<=n;i++)
if (blood[a[i].u]>0)
blood[a[i].v]--;
for(i=1;i<=m;i++) alive+=(blood[i]>0);
return alive;
}
int main()
{
//「MCOI-05」追杀
int i;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++) blood[i]=3;
for(i=1;i<=n;i++) scanf("%d%d",&a[i].u,&a[i].v);
for(i=1;i<=n;i++)
{
if (blood[a[i].u]<=0 || blood[a[i].v]<=0) continue;
if (blood[a[i].u]==1)
{
blood[a[i].u]--;
res[back(i)]+=i-last[a[i].u];
last[a[i].u]=i;
blood[a[i].u]++;
}
blood[a[i].v]--;
}
for(i=1;i<=m;i++)
{
blood[i]--;
res[back(n+1)]+=n+1-last[i];
last[i]=n+1;
blood[i]++;
}
// printf("0");
for(i=0;i<=m;i++) printf("%d ",res[i]);
}