30分求助
查看原帖
30分求助
1284256
kkkkksc0333楼主2025/2/6 08:49
#include<bits/stdc++.h>
using namespace std;
int n,m,t,k,ans1;
string ans[5][10050];
struct dw
{
	string s[5],id;
	bool b[5];
	int r;
}d[10050];
bool cmp(dw x,dw y)
{
	if(x.r==y.r)return x.id<y.id;
	return x.r<y.r;
}
int main()
{
	cin>>n>>m>>t>>k;
	for(int i=1;i<=n;i++)
	{
		cin>>d[i].s[0]>>d[i].s[1]>>d[i].s[2]>>d[i].s[3]>>d[i].id>>d[i].r;
		d[i].b[1]=1,d[i].b[2]=1,d[i].b[3]=1;
	}
	sort(d+1,d+n+1,cmp);
	int t=1,p=1;
	while(t<=n&&p<=k)
	{
		if(d[t].b[1]&&d[t].b[2]&&d[t].b[3])
		{
			ans[0][p]=d[t].s[0];
			ans[1][p]=d[t].s[1];
			ans[2][p]=d[t].s[2];
			ans[3][p]=d[t].s[3];
			ans1++;
			for(int i=t;i<=n;i++)
			{
				for(int j=1;j<=3;j++)
				{
					if(d[i].s[j]==d[t].s[1]||d[i].s[j]==d[t].s[2]||d[i].s[j]==d[t].s[3])
					{
						d[i].b[j]=0;
					} 
				}
			}
			p++;
		}
		t++;
	}
	cout<<ans1<<endl;
	for(int i=1;i<=p;i++)
	{
		for(int j=0;j<=3;j++)
		{
			cout<<ans[j][i]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2025/2/6 08:49
加载中...