Open zkj-turing opened 4 years ago
我觉得这个问题主要在,你没有升序输出吧
还有按行/列找最大的时候最好不要小于等于?
这个是ac的代码
#include<stdio.h>
#include<string.h>
int main()
{
int m,n,k,l,d;
scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);
int i;
int a[1002]={0};//行
int b[1002]={0};//列
int c1[1002],c2[1002];
for(i=0;i<d;i++)
{
int x1,y1,x2,y2;
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if(x1==x2)
{
if(y1<y2) b[y1]++;
else b[y2]++;
}
if(y1==y2)
{
if(x1<x2) a[x1]++;
else a[x2]++;
}
}
for(i=1;i<=k;i++)
{
int max=-1,loc;
int j;
for(j=1;j<m;j++)
{
if(a[j]>max)
{
max=a[j];
loc=j;
}
}
a[loc]=-1;
c1[loc]=1;
}
for(i=1;i<m;i++){
if(c1[i]) printf("%d ",i);}
printf("\n");
for(i=1;i<=l;i++)
{
int max=-1,loc;
int j;
for(j=1;j<n;j++)
{
if(b[j]>max)
{
max=b[j];
loc=j;
}
}
b[loc]=-1;
c2[loc]=1;
}
for(i=1;i<n;i++){
if (c2[i]) printf("%d ",i); }
}
排座位
题目链接
样例可以通过,但是测试点过不了,请学长(姐)帮忙改一下,谢谢