各位大佬们,我这个50分的代码哪里错了?谢谢。
#include<iostream>
#include<algorithm>
using namespace std;
int m,n;
int k,l;//k=horizontal, l=vertical
int d;//n in other programs
int x[3000];
int y[3000];
int x1[3000];
int y1[3000];
int x2=0;
int y2=0;
int t[3000];
int f[3000];
int findx(int a){
for(int i=0;i<m;i++){
if(x[i]==a){
x[i]=0;
return i;
}
}
}
int findy(int a){
for(int i=0;i<n;i++){
if(y[i]==a){
y[i]=0;
return i;
}
}
}
int main(){
cin>>m>>n>>k>>l>>d;
int k1=k;
int l1=l;
for(int i=0;i<d;i++){
int tmp1,tmp2;
int tmp3,tmp4;
cin>>tmp1>>tmp2;
cin>>tmp3>>tmp4;
if(tmp1==tmp3){
y[min(tmp2,tmp4)]++;
//cout<<min(tmp2,tmp4)<<" "<<y[min(tmp2,tmp4)]<<endl;
}else if(tmp2==tmp4){
x[min(tmp1,tmp3)]++;
//cout<<min(tmp1,tmp3)<<" "<<x[min(tmp1,tmp3)]<<endl;
}
}
for(int i=0;i<max(m,n);i++){
if(x[i]!=0){
x1[x2]=x[i];
x2++;
}
if(y[i]!=0){
y1[y2]=y[i];
y2++;
}
}
sort(x1,x1+x2);
sort(y1,y1+y2);
int t1=0,f1=0;
for(int i=x2-1;i>=0&&k>=0;i--){
t[t1]=findx(x1[i]);
k--;
t1++;
}
for(int i=y2-1;i>=0&&l>=0;i--){
f[f1]=findy(y1[i]);
l--;
f1++;
}
sort(t,t+t1);
sort(f,f+f1);
for(int i=0;i<t1;i++){
cout<<t[i]<<" ";
}
cout<<endl;
for(int i=0;i<f1;i++){
cout<<f[i]<<" ";
}
return 0;
}