fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <random>
  4. #include <iterator>
  5. #include <map>
  6.  
  7. int main() {
  8.  
  9. const int size = 10;
  10. std::vector<int> v(size);
  11. std::map<int,int> m;
  12.  
  13. std::random_device dev;
  14. std::mt19937 gen(dev());
  15. std::uniform_int_distribution<> dis(1,9);
  16.  
  17. std::generate_n( std::begin(v), size, [&](){ return dis(gen); } );
  18.  
  19. for( const int& i: v )
  20. {
  21. std::cout << i << " ";
  22. ++m[i];
  23. }
  24. std::cout << "\n";
  25.  
  26. int odd = 0;
  27. bool pali = true;
  28. for( const auto& p: m )
  29. {
  30. if( p.second & 1 )
  31. {
  32. if( !(size & 1) )
  33. {
  34. pali = false;
  35. break;
  36. }
  37. odd++;
  38. if( odd > 1 )
  39. {
  40. pali = false;
  41. break;
  42. }
  43. }
  44. }
  45.  
  46. std::cout << std::boolalpha << pali << std::endl;
  47.  
  48.  
  49. return 0;
  50. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
3 6 5 7 7 9 1 5 3 4 
false