Advertisement
konchin_shih

graph analyzer

May 23rd, 2021
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include<fstream>
  2. #include<iomanip>
  3. #include<iostream>
  4. #include<array>
  5. #include<map>
  6. #include<vector>
  7. #include<algorithm>
  8. using namespace std;
  9.  
  10. //size constant
  11.  
  12. constexpr int x_size = 199, y_size = 319, k = 2;
  13. constexpr int fixed_x_size = x_size/k, fixed_y_size = y_size/k;
  14.  
  15. template<typename T, int N> using A = array<T,N>;
  16. int main(){
  17.     fstream fin("input.txt",ios::in);
  18.     fstream fout("output.txt",ios::out);
  19.     cin.rdbuf(fin.rdbuf());
  20.     cout.rdbuf(fout.rdbuf());
  21.  
  22.     A<A<double,y_size>,x_size> arr;
  23.    
  24.     for(int i=0;i!=x_size;i++)
  25.         for(int j=0;j!=y_size;j++)
  26.             cin>>arr[i][j];
  27.  
  28.     // cout<<"debug 1"<<endl;
  29.     A<A<double,fixed_y_size>,fixed_x_size> fixed_arr;
  30.  
  31.     // cout<<"debug 2"<<endl;
  32.     for(int i=0;i!=fixed_x_size*k;i++)
  33.         for(int j=0;j!=fixed_y_size*k;j++)
  34.             fixed_arr[i/k][j/k]+=arr[i][j];
  35.  
  36.     // cout<<"debug 3"<<endl;
  37.     for(auto& i:fixed_arr)
  38.         for(auto& j:i)
  39.             j/=k*k;
  40.  
  41.     map<double,long long> m;
  42.  
  43.  
  44.     // cout<<"debug 4"<<endl;
  45.     for(const auto& i:fixed_arr)
  46.         for(const auto& j:i)
  47.             m[j]++;
  48.     using node=pair<double,long long>;
  49.     vector<node> v;
  50.  
  51.     for(auto i=m.rbegin();i!=m.rend();i++)
  52.         v.emplace_back(i->first,i->second);
  53.  
  54.     sort(v.begin(),v.end(),[](node a,node b){
  55.         return a.second>b.second||(a.second==b.second&&a.first<b.first);
  56.     });
  57.  
  58.     for(const auto& i:v)
  59.         cout<<i.first<<", "<<i.second<<endl;
  60.  
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement