- 双字典论滚解决
#include<bits/stdc++.h>
using namespace std;
int main(){
int N,m;
cin>>N;
while(N--){
cin>>m;
int f,x,y;
map<pair<int,int>,int> pre;//历史帧数
map<pair<int,int>,int> now;//现在帧数
int max_ = 0;
for(int i =0; i< m;i++){
cin>>f;
for(int j =0; j< f;j++){
cin>>x>>y;
if(pre.count({x,y})){
now[{x,y}] = pre[{x,y}] + 1;//又出现了一次,就是老的加1
}else{
now[{x,y}] = 1;//从来没有出现过
}
if(now[{x,y}]>max_){//时时更新任何一个连续帧
max_ = now[{x,y}];
}
}
//如果这帧为0,那么就不会保留任何历史信息了,因为now在这轮没有任何内容。
pre.clear();//清空历史,把now变为历史
pre.swap(now);//now 置空,同时,now变成上一个,这样的话连续问题就可以解决
}
cout<<max_<<endl;
}
return 0;
}