2 条题解
-
1
#include<bits/stdc++.h> #define xh(a,b,c) for(int a=b;a<=c;a++) #define int long long using namespace std; int n,m,k,l,d; struct node{ int sum=0; int bh; }a[100010],b[100010]; int ans; bool cmp(node x,node y){ return x.sum>y.sum||x.sum==y.sum&&x.bh<y.bh; } int t1[100010],t2[100010]; int cnt1,cnt2; signed main(){ cin>>n>>m>>k>>l>>d; xh(i,1,m)a[i].bh=i; xh(i,1,n)b[i].bh=i; while(d--){ int x,y,X,Y; cin>>x>>y>>X>>Y; if(x==X)a[min(Y,y)].sum++; else b[min(X,x)].sum++; } sort(a+1,a+m,cmp); sort(b+1,b+n,cmp); xh(i,1,k)t1[++cnt1]=b[i].bh; xh(i,1,l)t2[++cnt2]=a[i].bh; sort(t1+1,t1+cnt1+1); xh(i,1,cnt1)cout<<t1[i]<<' '; cout<<endl; sort(t2+1,t2+cnt2+1); xh(i,1,cnt2)cout<<t2[i]<<' '; return 0; } -
0
#include<bits/stdc++.h> using namespace std; const int N = 1010; int x[N], y[N], c[N], dd[N]; int main() { int m, n, k, l, d; cin >> m >> n >> k >> l >> d; for(int i = 1; i <= d; i ++) { int xi, yi, pi, qi; cin >> xi >> yi >> pi >> qi; if(xi == pi) x[min(yi, qi)] ++; if(yi == qi) y[min(xi, pi)] ++; } for(int i = 1; i <= k; i ++) { int mmax = INT_MIN, p; for(int j = 1; j < m; j ++) if(y[j] > mmax) mmax = max(mmax, y[j]), p = j; y[p] = 0, c[p] ++; } for(int i = 1; i <= l; i ++) { int mmax = INT_MIN, p; for(int j = 1; j <= n; j ++) if(x[j] > mmax) mmax = max(mmax, x[j]), p = j; x[p] = 0, dd[p] ++; } for(int i = 0; i < 1000; i ++) { if(c[i] != 0) cout << i << " "; } cout << endl; for(int i = 0; i < 1000; i ++) { if(dd[i] != 0) cout << i << " "; } cout << endl; return 0; }
- 1
信息
- ID
- 231
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 134
- 已通过
- 63
- 上传者