c_cpp GFG排序矩阵行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp GFG排序矩阵行相关的知识,希望对你有一定的参考价值。
using namespace std;
// #GFG #Problem #Sorting
// https://practice.geeksforgeeks.org/contest-problem/sort-matrix-rows/0/
vector<pair<int,int>> zeroCount(vector< vector<int> > a);
void zeroSort(vector< pair<int,int> > a);
int findMin(vector< pair<int,int> > a);
int main(){
int t;
cin>>t;
while(t--){
int r,c;
cin>>r>>c;
vector< vector<int> > a(r);
for(int i=0;i<r;i++){
a[i].resize(c);
for(int j=0;j<c;j++){
cin>>a[i][j];
}
}
zeroSort(zeroCount(a));
cout<<endl;
}
return 0;
}
vector<pair<int,int>> zeroCount(vector< vector<int> > a){
vector< pair<int,int> > ans;
for(int i=0;i<a.size();i++){
int z=0;
for(int j=0;j<a[i].size();j++){
if(a[i][j]==0){
z++;
}
}
ans.push_back({i,z});
}
return ans;
}
void zeroSort(vector< pair<int,int> > a){
while(a.size()>0){
int minI=findMin(a);
cout<<a[minI].first+1<<" ";
a.erase(a.begin()+minI);
}
}
int findMin(vector< pair<int,int> > a){
int min=INT_MAX;
int minI;
for(int i=0;i<a.size();i++){
if(a[i].second<min){
min=a[i].second;
minI=i;
}
}
return minI;
}
以上是关于c_cpp GFG排序矩阵行的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp GFG 2个排序数组的中位数
c_cpp GFG 2个排序数组的中位数
c_cpp GFG-门
c_cpp GFG骑士步行
c_cpp GFG发现号码
c_cpp GFG最低成本路径