两小时了,急救,要不120了!!!
查看原帖
两小时了,急救,要不120了!!!
376452
colin_lord楼主2020/10/14 17:10
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int maxn;
	struct kitt{
		int hen;
		int me;
	}ken[1100];
	struct kit{
		int zng;
		int me;
	}lzo[5100];
int a[1100][5100],bt=0;
bool com(kitt a,kitt b)
{
	if(a.hen>b.hen)
	return a.hen<b.hen;
}
bool comp(kit a,kit b)
{
	if(a.zng>b.zng)
	return a.zng<b.zng;
}
int main()
{

	int m,n,k,l,d,x1,y1,x2,y2,t=1;
	cin>>m>>n>>k>>l>>d;
	for(int i=1;i<=d;i++){
	cin>>x1>>y1>>x2>>y2;	
	a[m+1-x1][y1]=t;
	a[m+1-x2][y2]=t;
	t++;
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
		if(a[i][j]!=0&&a[i][j+1]==a[i][j]){
		    lzo[j].me=j;
			lzo[j].zng++;
		}	
		if(a[i][j]!=0&&a[i][j]==a[i+1][j]){
		    ken[m+1-i].hen++;
			ken[m+1-i].me=m-i;	
		}
	}
	}
	sort(lzo+1,lzo+n,comp);
	sort(ken+1,ken+m,com);
	for(int i=m-1;k--&&k>=0;i--)
	cout<<ken[i].me<<" ";	
	cout<<endl;
	for(int i=n-1;l--&&l>=0;i--)
	cout<<lzo[i].me<<" ";
}

我是想两个数组文件,一个横的,一个纵的,找到能隔开多的 ,在排序,之后一个一个把号码输出,就全废了 (感觉是排序的问题)

2020/10/14 17:10
加载中...