#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int test,k,n,i,j,m,temp,count,pos,row,max;
vector<int>vec1,col;
vector<vector<int> >vec2;
cin>>test;
while(test--){
m=0;
count=0;
cin>>n>>k;
vec2.clear();
for(i=0;i<n;i++){
vec1.clear();
for(j=0;j<4;j++){
cin>>temp;
if(j%2==0){
vec1.push_back(temp);
if(temp>m) m=temp;
}
}
if(vec1[0]>vec1[1]) swap(vec1[0],vec1[1]);
vec2.push_back(vec1);
}
col.clear();
col.resize(m+1,0);
for(i=0;i<n;i++)
for(j=vec2[i][0];j<=vec2[i][1];j++)
col[j]++;
pos=0;
while(1){
for(i=pos;i<m;i++)
if(col[i]>k) {count++;pos=i;break;}
if(i==m) break;
max=0;
for(i=0;i<n;i++)
if(vec2[i][0]<=pos&&vec2[i][1]>=pos)
if(vec2[i][1]>max) {max=vec2[i][1];row=i;}
for(i=pos;i<=max;i++) col[i]--;
vec2.erase(vec2.begin()+row);
n--;
}
cout<<count<<endl;
}
}
要注意
if(vec1[0]>vec1[1]) swap(vec1[0],vec1[1]);