数组标记:
#include<bits/stdc++.h>
#define ll long long
#define endl '\n'
#define up(i,j,k,l) for(int i=j;i<=k;i+=l)
#define down(i,j,k,l) for(int i=j;i>=k;i-=l)
using namespace std;
const int N=2e3+10;
int n,m,k,l,d;
struct node{
int x,y,p,q;
};
node a[N];
int s[N],h[N];
vector<int> st,sa,ha;
bool fs[N],fh[N];
int us[N],uh[N];
int ct,res;
void solve()
{
cin>>n>>m>>k>>l>>d;
up(i,1,d,1){
cin>>a[i].x>>a[i].y>>a[i].p>>a[i].q;
if(a[i].x==a[i].p && abs(a[i].y-a[i].q)==1){
s[min(a[i].y,a[i].q)]++;
}
if(a[i].y==a[i].q && abs(a[i].x-a[i].p)==1){
h[min(a[i].x,a[i].p)]++;
}
}
up(i,1,k,1){
ct=-1;
res=0;
up(j,1,n,1){
if(h[j]>ct && fh[j]==false){
fh[j]=true;
ct=h[j];
res=j;
}
}
uh[res]=1;
}
up(i,1,l,1){
ct=-1;
res=0;
up(j,1,m,1){
if(s[j]>ct && fs[j]==false){
fs[j]=true;
ct=s[j];
res=j;
}
}
us[res]=1;
}
up(i,1,n,1){
if(uh[i]){
cout<<i<<' ';
}
}
cout<<endl;
up(i,1,m,1){
if(us[i]){
cout<<i<<' ';
}
}
cout<<endl;
return;
}
int main()
{
//ios::sync_with_stdio(false);
//cin.tie(0);
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int _=1;
//cin>>_;
up(i,1,_,1){
solve();
}
return 0;
}
归零:
#include<bits/stdc++.h>
#define ll long long
#define endl '\n'
#define up(i,j,k,l) for(int i=j;i<=k;i+=l)
#define down(i,j,k,l) for(int i=j;i>=k;i-=l)
using namespace std;
const int N=2e3+10;
int n,m,k,l,d;
struct node{
int x,y,p,q;
};
node a[N];
int s[N],h[N];
vector<int> st,sa,ha;
int us[N],uh[N];
int ct,res;
void solve()
{
cin>>n>>m>>k>>l>>d;
up(i,1,d,1){
cin>>a[i].x>>a[i].y>>a[i].p>>a[i].q;
if(a[i].x==a[i].p && abs(a[i].y-a[i].q)==1){
s[min(a[i].y,a[i].q)]++;
}
if(a[i].y==a[i].q && abs(a[i].x-a[i].p)==1){
h[min(a[i].x,a[i].p)]++;
}
}
up(i,1,k,1){
ct=-1;
res=0;
up(j,1,n,1){
if(h[j]>ct){
ct=h[j];
res=j;
}
}
uh[res]=1;
h[res]=0;
}
up(i,1,l,1){
ct=-1;
res=0;
up(j,1,m,1){
if(s[j]>ct){
ct=s[j];
res=j;
}
}
us[res]=1;
s[res]=0;
}
up(i,1,n,1){
if(uh[i]){
cout<<i<<' ';
}
}
cout<<endl;
up(i,1,m,1){
if(us[i]){
cout<<i<<' ';
}
}
cout<<endl;
return;
}
int main()
{
//ios::sync_with_stdio(false);
//cin.tie(0);
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int _=1;
//cin>>_;
up(i,1,_,1){
solve();
}
return 0;
}