aboutsummaryrefslogtreecommitdiff
path: root/challenge-260/ulrich-rieke/cpp/ch-1.cpp
blob: f9f90ce2968a92af1f9bc3442da402adfd24c1c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <vector>
#include <set>
#include <iterator>
#include <algorithm> 

int main( ) {
   std::cout << "Enter some integers, separated by blanks, e to end!\n" ;
   std::vector<int> numbers {std::istream_iterator<int>{std::cin} , 
      std::istream_iterator<int>{}} ;
   std::set<int> uniques( numbers.begin( ) , numbers.end( ) );
   std::vector<int> frequencies ;
   for ( auto i : uniques ) {
      frequencies.push_back( std::count( numbers.begin( ) ,
	       numbers.end( ) , i ) ) ;
   }
   std::set<int> allFreq ( frequencies.begin( ) , frequencies.end( ) ) ;
   if ( uniques.size( ) == allFreq.size( ) ) {
      std::cout << 1 << '\n' ;
   }
   else {
      std::cout << 0 << '\n' ;
   }
   return 0 ;
}