水题,桶排序。
这个东西,直接复制粘贴,,。
//#include <bits/stdc++.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define LL long long
using namespace std;
const int _K=50268147,_B=6082187,_P=100000007;
int _X;
inline int get_rand(int _l,int _r){
_X=((long long)_K*_X+_B)%_P;
return _X%(_r-_l+1)+_l;
}
int n,m,k,seed,ans1,ans2;
int x[1000006],y[1000006],x1[1000006],y1[1000006];
void Init(){
scanf("%d%d%d%d",&n,&m,&k,&seed);
_X=seed;
for (int i=1;i<=k;++i){
x[i]=get_rand(1,n),
y[i]=get_rand(1,m);
x1[x[i]]=1;
y1[y[i]]=1;
}
}
int main(){
int T;
scanf("%d",&T);
while(T--){
memset(x1,0,sizeof(x1));
memset(y1,0,sizeof(y1));
ans1=0,ans2=0;
Init();
for(int i=1;i<=n;i++)
if(x1[i]) ans1++;
for(int i=1;i<=m;i++)
if(y1[i]) ans2++;
printf("%d %d\n",n-ans1,m-ans2);
}
return 0;
}