hdu1379關於map,pair的運用

#include<bits/stdc++.h>
using namespace std;
bool cmp(pair<string, int>&a,pair<string, int>&b){
    return a.second<b.second;
}
int main(){
    int n;
    cin>>n;
    getchar();
    while(n--){
        string a[105];
        int m,c;
        scanf("%d %d",&m,&c);
        map<string,int>mp;
        for(int i=0;i<c;i++){
            cin>>a[i];
            for(int j=0;j<m-1;j++){
                for(int k=j+1;k<m;k++){
                    if(a[i][j]>a[i][k])
                        mp[a[i]]++;
                }
            }
        }
        // 將map中的內容轉存到vector中
        vector<pair<string,int>> vec(mp.begin(),mp.end());
            //對線性的vector進行排序
        sort(vec.begin(), vec.end(), cmp);//cmp不能少
        for (int i = 0; i < vec.size(); ++i)
        {
            cout <<vec[i].first<< endl;
        }
        
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章