JosepRivaille

P12284: Paraules més freqüents

May 7th, 2015
1,403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. struct quant{
  7.   string s;
  8.   int q;
  9. };
  10.  
  11. bool ordre(const quant& a, const quant& b){
  12.   if(a.q == b.q) return a.s < b.s;
  13.   else return a.q > b.q;
  14. }
  15.  
  16.  
  17. int main(){
  18.   int n, k;
  19.   while(cin >> n >> k){
  20.   vector<string> paraules(n);
  21.   for(int i = 0; i < n; ++i) cin >> paraules[i];
  22.   sort(paraules.begin(),paraules.end());
  23.    
  24.   vector<quant> cont(n);
  25.   cont[0].q = 1;
  26.   cont[0].s = paraules[0];
  27.   int temp = 0;
  28.   for(int i = 1; i < n; ++i){
  29.     if(paraules[temp] == paraules[i]){
  30.       ++cont[temp].q;
  31.       cont[i].q = 0;
  32.     }
  33.     else {
  34.       cont[i].q = 1;
  35.       cont[i].s = paraules[i];
  36.       temp = i;
  37.     }
  38.   }
  39.  
  40.   sort(cont.begin(),cont.end(),ordre);
  41.  
  42.   for(int i = 0; i < k; ++i) cout << cont[i].s << endl;
  43.   cout << "----------" << endl;
  44.  
  45.   }
  46.  
  47. }
Advertisement
Add Comment
Please, Sign In to add comment