2000行测试数据无误 但仅得20分 求助!
查看原帖
2000行测试数据无误 但仅得20分 求助!
604881
jimmyforever楼主2024/8/1 11:07
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	int M,N,K,L,D;
	cin>>M>>N>>K>>L>>D;
	int X[M]={0};
	int Y[N]={0};
	int A[M]={0};
	int B[N]={0};
	for(int i=1;i<=D;i++)
	{
		int x1,x2,y1,y2; 
		cin>>x1>>y1>>x2>>y2;
		if(x1==x2)
		{
			Y[min(y1,y2)]++;
		}
		else
		{
			X[min(x1,x2)]++;
		}
	}
	
	for(int i=1;i<=M;i++)
	{
		A[i]=i;
	}
	for(int i=1;i<=N;i++)
	{
		B[i]=i;
	}
	
	for(int j=0;j<M-1;j++)
	{
		for(int i=0;i<M-j-1;i++)
		{
			if(X[i]<X[i+1])
			{
				int t=X[i];
				X[i]=X[i+1];
				X[i+1]=t;
				int s=A[i];
				A[i]=A[i+1];
				A[i+1]=s;
			}
		}
	}
	
	for(int j=0;j<N-1;j++)
	{
		for(int i=0;i<N-j-1;i++)
		{
			if(Y[i]<Y[i+1])
			{
				int t=Y[i];
				Y[i]=Y[i+1];
				Y[i+1]=t;
				int s=B[i];
				B[i]=B[i+1];
				B[i+1]=s;
			}
		}
	}
	
	int A1[K]={0};
	int B1[L]={0};
	for(int i=0;i<=K-1;i++)
	{
		A1[i]=A[i];
	}
	for(int i=0;i<=L-1;i++)
	{
	    B1[i]=B[i];
	}
	
	for(int j=0;j<K-1;j++)
	{
		for(int i=0;i<K-j-1;i++)
		{
			if(A1[i]>A1[i+1])
			{
				int p=A1[i];
				A1[i]=A1[i+1];
				A1[i+1]=p;
			}
		}
	}
	
	for(int j=0;j<L-1;j++)
	{
		for(int i=0;i<L-j-1;i++)
		{
			if(B1[i]>B1[i+1])
			{
				int p=B1[i];
				B1[i]=B1[i+1];
				B1[i+1]=p;
			}
		}
	}
	
	for(int i=0;i<=K-1;i++)
	{
		cout<<A1[i]<<" ";
	}
	
	cout<<endl;
	
	for(int i=0;i<=L-1;i++)
	{
		cout<<B1[i]<<" ";
	}
	
	return 0;
}
2024/8/1 11:07
加载中...