Detalii evaluare #51670234

Rezumat problemă

#1041 Biperm

Pentru un număr natural nenul n, să considerăm toate numerele naturale nenule mai mici sau egale cu n, luând fiecare număr de câte două ori: 1, 1, 2, 2, 3, 3, ... , n, n. Aceste numere le amestecăm aleator, şi le aranjăm pe două linii a câte n elemente. Structura astfel obţinută o vom numi o bipermutare. În figurile 1, 2 şi 3 avem câte un exemplu de bipermutare pentru n=5.

O bipermutare este perfectă, dacă ambele linii ale structurii reprezintă câte o permutare (vezi figurile 2 şi 3).

Prin mutare pe poziţia p, înţelegem interschimbarea elementelor de pe aceeaşi coloană p. În exemplele de mai jos, bipermutarea perfectă din figura 2 s-a obţinut din bipermutarea din figura 1, aplicând o mutare pe poziţa 2. Bipermutarea perfectă din figura 3 s-a obţinut din bipermutarea din figura 1, aplicând mutări pe poziţiile 1, 2, 4 şi 5.

Cunoscând o bipermutare, determinaţi:

  • numărul bipermutărilor perfecte distincte ce se pot obţine prin mutări;
  • numărul minim de mutări prin care se poate obţine o bipermutare perfectă;
  • o bipermutare perfectă obţinută din bipermutarea iniţială.

Detalii

Problema Biperm Operații I/O biperm.in/biperm.out
Limita timp 1 secunde Limita memorie Total: 128 MB / Stivă 64 MB
Id soluție #51670234 Utilizator Chopin Frederic (alexandru_lazar112)
Fișier biperm.cpp Dimensiune 1.71 KB
Data încărcării 31 Iulie 2024, 14:44 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

biperm.cpp: In function 'int dfs(int, int)':
biperm.cpp:22:23: error: no matching function for call to 'std::set<int>::find(std::vector<std::pair<int, int> >&)'
     if (current.find(e) != current.end())

                       ^
biperm.cpp:22:23: note: candidates are:
In file included from /usr/include/c++/4.8/set:61:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:86,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_set.h:662:7: note: std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::find(const key_type&) [with _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::key_type = int]
       find(const key_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:662:7: note:   no known conversion for argument 1 from 'std::vector<std::pair<int, int> >' to 'const key_type& {aka const int&}'
/usr/include/c++/4.8/bits/stl_set.h:666:7: note: std::set<_Key, _Compare, _Alloc>::const_iterator std::set<_Key, _Compare, _Alloc>::find(const key_type&) const [with _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::key_type = int]
       find(const key_type& __x) const
       ^
/usr/include/c++/4.8/bits/stl_set.h:666:7: note:   no known conversion for argument 1 from 'std::vector<std::pair<int, int> >' to 'const key_type& {aka const int&}'
biperm.cpp:24:21: error: no matching function for call to 'std::set<int>::insert(std::vector<std::pair<int, int> >&)'
     current.insert(e);

                     ^
biperm.cpp:24:21: note: candidates are:
In file included from /usr/include/c++/4.8/set:61:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:86,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_set.h:460:7: note: std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(const value_type&) [with _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:460:7: note:   no known conversion for argument 1 from 'std::vector<std::pair<int, int> >' to 'const value_type& {aka const int&}'
/usr/include/c++/4.8/bits/stl_set.h:469:7: note: std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Key>, _Compare, typename _Alloc::rebind<_Key>::other>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:469:7: note:   no known conversion for argument 1 from 'std::vector<std::pair<int, int> >' to 'std::set<int>::value_type&& {aka int&&}'
/usr/include/c++/4.8/bits/stl_set.h:497:7: note: std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const_iterator __position, const value_type& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:497:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/4.8/bits/stl_set.h:502:7: note: std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::const_iterator, std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<int>; std::set<_Key, _Compare, _Alloc>::value_type = int]
       insert(const_iterator __position, value_type&& __x)
       ^
/usr/include/c++/4.8/bits/stl_set.h:502:7: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/4.8/bits/stl_set.h:517:2: note: template<class _InputIterator> void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>]
  insert(_InputIterator __first, _InputIterator __last)
  ^
/usr/include/c++/4.8/bits/stl_set.h:517:2: note:   template argument deduction/substitution failed:
biperm.cpp:24:21: note:   candidate expects 2 arguments, 1 provided
     current.insert(e);

                     ^
In file included from /usr/include/c++/4.8/set:61:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:86,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_set.h:529:7: note: void std::set<_Key, _Compare, _Alloc>::insert(std::initializer_list<_Tp>) [with _Key = int; _Compare = std::less<int>; _Alloc = std::allocator<int>]
       insert(initializer_list<value_type> __l)
       ^
/usr/include/c++/4.8/bits/stl_set.h:529:7: note:   no known conversion for argument 1 from 'std::vector<std::pair<int, int> >' to 'std::initializer_list<int>'
biperm.cpp:25:13: error: no match for 'operator[]' (operand types are 'bool [10002]' and 'const std::pair<int, int>')
     if (!viz[v]) {

             ^
biperm.cpp:26:12: error: no match for 'operator[]' (operand types are 'int [10002]' and 'std::vector<std::pair<int, int> >')
       if (l[e] == u && r[e] == v) {

            ^
biperm.cpp:26:25: error: no match for 'operator[]' (operand types are 'int [10002]' and 'std::vector<std::pair<int, int> >')
       if (l[e] == u && r[e] == v) {

                         ^
biperm.cpp:28:12: error: no match for 'operator[]' (operand types are 'bool [10002]' and 'std::vector<std::pair<int, int> >')
         swp[e] = true;

            ^
biperm.cpp:29:20: error: no match for 'operator!=' (operand types are 'std::vector<std::pair<int, int> >' and 'int')
       } else if (e != p) {

                    ^
biperm.cpp:29:20: note: candidates are:
In file included from /usr/include/c++/4.8/iosfwd:40:0,
                 from /usr/include/c++/4.8/ios:38,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/postypes.h:221:5: note: template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^
/usr/include/c++/4.8/bits/postypes.h:221:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::fpos<_StateT>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_pair.h:227:5: note: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^
/usr/include/c++/4.8/bits/stl_pair.h:227:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::pair<_T1, _T2>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:303:5: note: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator!=(const reverse_iterator<_Iterator>& __x,
     ^
/usr/include/c++/4.8/bits/stl_iterator.h:303:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::reverse_iterator<_Iterator>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:353:5: note: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator!=(const reverse_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/4.8/bits/stl_iterator.h:353:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::reverse_iterator<_Iterator>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:1043:5: note: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_Iterator>&, const std::move_iterator<_IteratorR>&)
     operator!=(const move_iterator<_IteratorL>& __x,
     ^
/usr/include/c++/4.8/bits/stl_iterator.h:1043:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::move_iterator<_Iterator>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/4.8/bits/char_traits.h:39,
                 from /usr/include/c++/4.8/ios:40,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_iterator.h:1049:5: note: template<class _Iterator> bool std::operator!=(const std::move_iterator<_Iterator>&, const std::move_iterator<_Iterator>&)
     operator!=(const move_iterator<_Iterator>& __x,
     ^
/usr/include/c++/4.8/bits/stl_iterator.h:1049:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::move_iterator<_Iterator>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/string:41:0,
                 from /usr/include/c++/4.8/bits/locale_classes.h:40,
                 from /usr/include/c++/4.8/bits/ios_base.h:41,
                 from /usr/include/c++/4.8/ios:42,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/allocator.h:138:5: note: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)
     operator!=(const allocator<_T1>&, const allocator<_T2>&)
     ^
/usr/include/c++/4.8/bits/allocator.h:138:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::allocator<_CharT>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/string:41:0,
                 from /usr/include/c++/4.8/bits/locale_classes.h:40,
                 from /usr/include/c++/4.8/bits/ios_base.h:41,
                 from /usr/include/c++/4.8/ios:42,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/allocator.h:143:5: note: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&)
     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
     ^
/usr/include/c++/4.8/bits/allocator.h:143:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::allocator<_CharT>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/string:52:0,
                 from /usr/include/c++/4.8/bits/locale_classes.h:40,
                 from /usr/include/c++/4.8/bits/ios_base.h:41,
                 from /usr/include/c++/4.8/ios:42,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2532:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/4.8/bits/basic_string.h:2532:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/string:52:0,
                 from /usr/include/c++/4.8/bits/locale_classes.h:40,
                 from /usr/include/c++/4.8/bits/ios_base.h:41,
                 from /usr/include/c++/4.8/ios:42,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2544:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const _CharT* __lhs,
     ^
/usr/include/c++/4.8/bits/basic_string.h:2544:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   mismatched types 'const _CharT*' and 'std::vector<std::pair<int, int> >'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/string:52:0,
                 from /usr/include/c++/4.8/bits/locale_classes.h:40,
                 from /usr/include/c++/4.8/bits/ios_base.h:41,
                 from /usr/include/c++/4.8/ios:42,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/basic_string.h:2556:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^
/usr/include/c++/4.8/bits/basic_string.h:2556:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/locale_facets.h:48:0,
                 from /usr/include/c++/4.8/bits/basic_ios.h:37,
                 from /usr/include/c++/4.8/ios:44,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/sstream:38,
                 from /usr/include/c++/4.8/complex:45,
                 from /usr/include/c++/4.8/ccomplex:38,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^
/usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/ccomplex:38:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/complex:474:5: note: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const std::complex<_Tp>&)
     operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y)
     ^
/usr/include/c++/4.8/complex:474:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::complex<_Tp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/ccomplex:38:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/complex:479:5: note: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const _Tp&)
     operator!=(const complex<_Tp>& __x, const _Tp& __y)
     ^
/usr/include/c++/4.8/complex:479:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::complex<_Tp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/ccomplex:38:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52,
                 from biperm.cpp:1:
/usr/include/c++/4.8/complex:484:5: note: template<class _Tp> constexpr bool std::operator!=(const _Tp&, const std::complex<_Tp>&)
     operator!=(const _Tp& __x, const complex<_Tp>& __y)
     ^
/usr/include/c++/4.8/complex:484:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   mismatched types 'const std::complex<_Tp>' and 'int'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/vector:64:0,
                 from /usr/include/c++/4.8/bits/random.h:34,
                 from /usr/include/c++/4.8/random:50,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_vector.h:1428:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^
/usr/include/c++/4.8/bits/stl_vector.h:1428:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   mismatched types 'const std::vector<_Tp, _Alloc>' and 'int'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:409:5: note: template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m> bool std::operator!=(const std::linear_congruential_engine<_UIntType, __a, __c, __m>&, const std::linear_congruential_engine<_UIntType, __a, __c, __m>&)
     operator!=(const std::linear_congruential_engine<_UIntType, __a,
     ^
/usr/include/c++/4.8/bits/random.h:409:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::linear_congruential_engine<_UIntType, __a, __c, __m>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:641:5: note: template<class _UIntType, unsigned int __w, unsigned int __n, unsigned int __m, unsigned int __r, _UIntType __a, unsigned int __u, _UIntType __d, unsigned int __s, _UIntType __b, unsigned int __t, _UIntType __c, unsigned int __l, _UIntType __f> bool std::operator!=(const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>&, const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>&)
     operator!=(const std::mersenne_twister_engine<_UIntType, __w, __n, __m,
     ^
/usr/include/c++/4.8/bits/random.h:641:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:840:5: note: template<class _UIntType, unsigned int __w, unsigned int __s, unsigned int __r> bool std::operator!=(const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>&, const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>&)
     operator!=(const std::subtract_with_carry_engine<_UIntType, __w,
     ^
/usr/include/c++/4.8/bits/random.h:840:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:1062:5: note: template<class _RandomNumberEngine, unsigned int __p, unsigned int __r> bool std::operator!=(const std::discard_block_engine<_RandomNumberEngine, __p, __r>&, const std::discard_block_engine<_RandomNumberEngine, __p, __r>&)
     operator!=(const std::discard_block_engine<_RandomNumberEngine, __p,
     ^
/usr/include/c++/4.8/bits/random.h:1062:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::discard_block_engine<_RandomNumberEngine, __p, __r>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:1258:5: note: template<class _RandomNumberEngine, unsigned int __w, class _UIntType> bool std::operator!=(const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>&, const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>&)
     operator!=(const std::independent_bits_engine<_RandomNumberEngine, __w,
     ^
/usr/include/c++/4.8/bits/random.h:1258:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:1510:5: note: template<class _RandomNumberEngine, unsigned int __k> bool std::operator!=(const std::shuffle_order_engine<_RandomNumberEngine, __k>&, const std::shuffle_order_engine<_RandomNumberEngine, __k>&)
     operator!=(const std::shuffle_order_engine<_RandomNumberEngine,
     ^
/usr/include/c++/4.8/bits/random.h:1510:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::shuffle_order_engine<_RandomNumberEngine, __k>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:1825:5: note: template<class _IntType> bool std::operator!=(const std::uniform_int_distribution<_IntType>&, const std::uniform_int_distribution<_IntType>&)
     operator!=(const std::uniform_int_distribution<_IntType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:1825:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::uniform_int_distribution<_IntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:2034:5: note: template<class _IntType> bool std::operator!=(const std::uniform_real_distribution<_IntType>&, const std::uniform_real_distribution<_IntType>&)
     operator!=(const std::uniform_real_distribution<_IntType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:2034:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::uniform_real_distribution<_IntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:2283:5: note: template<class _RealType> bool std::operator!=(const std::normal_distribution<_RealType>&, const std::normal_distribution<_RealType>&)
     operator!=(const std::normal_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:2283:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::normal_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:2487:5: note: template<class _RealType> bool std::operator!=(const std::lognormal_distribution<_RealType>&, const std::lognormal_distribution<_RealType>&)
     operator!=(const std::lognormal_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:2487:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::lognormal_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:2707:6: note: template<class _RealType> bool std::operator!=(const std::gamma_distribution<_RealType>&, const std::gamma_distribution<_RealType>&)
      operator!=(const std::gamma_distribution<_RealType>& __d1,
      ^
/usr/include/c++/4.8/bits/random.h:2707:6: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::gamma_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:2917:5: note: template<class _RealType> bool std::operator!=(const std::chi_squared_distribution<_RealType>&, const std::chi_squared_distribution<_RealType>&)
     operator!=(const std::chi_squared_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:2917:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::chi_squared_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:3084:5: note: template<class _RealType> bool std::operator!=(const std::cauchy_distribution<_RealType>&, const std::cauchy_distribution<_RealType>&)
     operator!=(const std::cauchy_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:3084:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::cauchy_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:3340:5: note: template<class _RealType> bool std::operator!=(const std::fisher_f_distribution<_RealType>&, const std::fisher_f_distribution<_RealType>&)
     operator!=(const std::fisher_f_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:3340:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::fisher_f_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:3553:5: note: template<class _RealType> bool std::operator!=(const std::student_t_distribution<_RealType>&, const std::student_t_distribution<_RealType>&)
     operator!=(const std::student_t_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:3553:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::student_t_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:3729:3: note: bool std::operator!=(const std::bernoulli_distribution&, const std::bernoulli_distribution&)
   operator!=(const std::bernoulli_distribution& __d1,
   ^
/usr/include/c++/4.8/bits/random.h:3729:3: note:   no known conversion for argument 1 from 'std::vector<std::pair<int, int> >' to 'const std::bernoulli_distribution&'
/usr/include/c++/4.8/bits/random.h:3995:5: note: template<class _IntType> bool std::operator!=(const std::binomial_distribution<_IntType>&, const std::binomial_distribution<_IntType>&)
     operator!=(const std::binomial_distribution<_IntType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:3995:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::binomial_distribution<_IntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:4164:5: note: template<class _IntType> bool std::operator!=(const std::geometric_distribution<_IntType>&, const std::geometric_distribution<_IntType>&)
     operator!=(const std::geometric_distribution<_IntType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:4164:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::geometric_distribution<_IntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:4409:5: note: template<class _IntType> bool std::operator!=(const std::negative_binomial_distribution<_IntType>&, const std::negative_binomial_distribution<_IntType>&)
     operator!=(const std::negative_binomial_distribution<_IntType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:4409:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::negative_binomial_distribution<_IntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:4625:5: note: template<class _IntType> bool std::operator!=(const std::poisson_distribution<_IntType>&, const std::poisson_distribution<_IntType>&)
     operator!=(const std::poisson_distribution<_IntType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:4625:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::poisson_distribution<_IntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:4803:5: note: template<class _RealType> bool std::operator!=(const std::exponential_distribution<_RealType>&, const std::exponential_distribution<_RealType>&)
     operator!=(const std::exponential_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:4803:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::exponential_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:5006:5: note: template<class _RealType> bool std::operator!=(const std::weibull_distribution<_RealType>&, const std::weibull_distribution<_RealType>&)
     operator!=(const std::weibull_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:5006:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::weibull_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:5209:5: note: template<class _RealType> bool std::operator!=(const std::extreme_value_distribution<_RealType>&, const std::extreme_value_distribution<_RealType>&)
     operator!=(const std::extreme_value_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:5209:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::extreme_value_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:5469:5: note: template<class _IntType> bool std::operator!=(const std::discrete_distribution<_IntType>&, const std::discrete_distribution<_IntType>&)
     operator!=(const std::discrete_distribution<_IntType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:5469:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::discrete_distribution<_IntType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:5736:5: note: template<class _RealType> bool std::operator!=(const std::piecewise_constant_distribution<_RealType>&, const std::piecewise_constant_distribution<_RealType>&)
     operator!=(const std::piecewise_constant_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:5736:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::piecewise_constant_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/random:50:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:65,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/random.h:6006:5: note: template<class _RealType> bool std::operator!=(const std::piecewise_linear_distribution<_RealType>&, const std::piecewise_linear_distribution<_RealType>&)
     operator!=(const std::piecewise_linear_distribution<_RealType>& __d1,
     ^
/usr/include/c++/4.8/bits/random.h:6006:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::piecewise_linear_distribution<_RealType>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/tuple:39:0,
                 from /usr/include/c++/4.8/functional:55,
                 from /usr/include/c++/4.8/bits/stl_algo.h:66,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/array:233:5: note: template<class _Tp, unsigned int _Nm> bool std::operator!=(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
     ^
/usr/include/c++/4.8/array:233:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::array<_Tp, _Nm>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/functional:55:0,
                 from /usr/include/c++/4.8/bits/stl_algo.h:66,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/tuple:835:5: note: template<class ... _TElements, class ... _UElements> constexpr bool std::operator!=(const std::tuple<_Elements ...>&, const std::tuple<_Elements ...>&)
     operator!=(const tuple<_TElements...>& __t,
     ^
/usr/include/c++/4.8/tuple:835:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::tuple<_Elements ...>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/stl_algo.h:66:0,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/functional:2555:5: note: template<class _Res, class ... _Args> bool std::operator!=(const std::function<_Res(_ArgTypes ...)>&, std::nullptr_t)
     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
     ^
/usr/include/c++/4.8/functional:2555:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::function<_Res(_ArgTypes ...)>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/stl_algo.h:66:0,
                 from /usr/include/c++/4.8/algorithm:62,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64,
                 from biperm.cpp:1:
/usr/include/c++/4.8/functional:2561:5: note: template<class _Res, class ... _Args> bool std::operator!=(std::nullptr_t, const std::function<_Res(_ArgTypes ...)>&)
     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
     ^
/usr/include/c++/4.8/functional:2561:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   cannot convert 'e' (type 'std::vector<std::pair<int, int> >') to type 'std::nullptr_t'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/deque:64:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:67,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_deque.h:260:5: note: template<class _Tp, class _Ref, class _Ptr> bool std::operator!=(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _Ref, _Ptr>&)
     operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
     ^
/usr/include/c++/4.8/bits/stl_deque.h:260:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/deque:64:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:67,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_deque.h:267:5: note: template<class _Tp, class _RefL, class _PtrL, class _RefR, class _PtrR> bool std::operator!=(const std::_Deque_iterator<_Tp, _Ref, _Ptr>&, const std::_Deque_iterator<_Tp, _RefR, _PtrR>&)
     operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
     ^
/usr/include/c++/4.8/bits/stl_deque.h:267:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/deque:64:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:67,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_deque.h:1983:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)
     operator!=(const deque<_Tp, _Alloc>& __x,
     ^
/usr/include/c++/4.8/bits/stl_deque.h:1983:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::deque<_Tp, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/iterator:66:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:76,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stream_iterator.h:137:5: note: template<class _Tp, class _CharT, class _Traits, class _Dist> bool std::operator!=(const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&, const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&)
     operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
     ^
/usr/include/c++/4.8/bits/stream_iterator.h:137:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/list:63:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:78,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_list.h:282:5: note: template<class _Val> bool std::operator!=(const std::_List_iterator<_Tp>&, const std::_List_const_iterator<_Val>&)
     operator!=(const _List_iterator<_Val>& __x,
     ^
/usr/include/c++/4.8/bits/stl_list.h:282:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::_List_iterator<_Tp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/list:63:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:78,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_list.h:1638:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::list<_Tp, _Alloc>&, const std::list<_Tp, _Alloc>&)
     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
     ^
/usr/include/c++/4.8/bits/stl_list.h:1638:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::list<_Tp, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/map:60:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:80,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:316:5: note: template<class _Val> bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
     operator!=(const _Rb_tree_iterator<_Val>& __x,
     ^
/usr/include/c++/4.8/bits/stl_tree.h:316:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::_Rb_tree_iterator<_Tp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/map:60:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:80,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_tree.h:927:5: note: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/4.8/bits/stl_tree.h:927:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/map:61:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:80,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_map.h:986:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/4.8/bits/stl_map.h:986:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/map:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:80,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_multimap.h:888:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/4.8/bits/stl_multimap.h:888:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/memory:81:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/unique_ptr.h:506:5: note: template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)
     operator!=(const unique_ptr<_Tp, _Dp>& __x,
     ^
/usr/include/c++/4.8/bits/unique_ptr.h:506:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/memory:81:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/unique_ptr.h:512:5: note: template<class _Tp, class _Dp> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)
     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
     ^
/usr/include/c++/4.8/bits/unique_ptr.h:512:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/memory:81:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/unique_ptr.h:517:5: note: template<class _Tp, class _Dp> bool std::operator!=(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)
     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
     ^
/usr/include/c++/4.8/bits/unique_ptr.h:517:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   cannot convert 'e' (type 'std::vector<std::pair<int, int> >') to type 'std::nullptr_t'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/4.8/memory:82,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/shared_ptr_base.h:1045:5: note: template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)
     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
     ^
/usr/include/c++/4.8/bits/shared_ptr_base.h:1045:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::__shared_ptr<_Tp1, _Lp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/4.8/memory:82,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/shared_ptr_base.h:1051:5: note: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)
     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
     ^
/usr/include/c++/4.8/bits/shared_ptr_base.h:1051:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/4.8/memory:82,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/shared_ptr_base.h:1056:5: note: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)
     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
     ^
/usr/include/c++/4.8/bits/shared_ptr_base.h:1056:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   cannot convert 'e' (type 'std::vector<std::pair<int, int> >') to type 'std::nullptr_t'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/memory:82:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/shared_ptr.h:343:5: note: template<class _Tp1, class _Tp2> bool std::operator!=(const std::shared_ptr<_Tp1>&, const std::shared_ptr<_Tp2>&)
     operator!=(const shared_ptr<_Tp1>& __a,
     ^
/usr/include/c++/4.8/bits/shared_ptr.h:343:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::shared_ptr<_Tp1>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/memory:82:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/shared_ptr.h:349:5: note: template<class _Tp> bool std::operator!=(const std::shared_ptr<_Tp1>&, std::nullptr_t)
     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
     ^
/usr/include/c++/4.8/bits/shared_ptr.h:349:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::shared_ptr<_Tp1>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/memory:82:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:81,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/shared_ptr.h:354:5: note: template<class _Tp> bool std::operator!=(std::nullptr_t, const std::shared_ptr<_Tp1>&)
     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
     ^
/usr/include/c++/4.8/bits/shared_ptr.h:354:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   cannot convert 'e' (type 'std::vector<std::pair<int, int> >') to type 'std::nullptr_t'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/queue:64:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:85,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_queue.h:292:5: note: template<class _Tp, class _Seq> bool std::operator!=(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&)
     operator!=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
     ^
/usr/include/c++/4.8/bits/stl_queue.h:292:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::queue<_Tp, _Seq>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/set:61:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:86,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_set.h:778:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&)
     operator!=(const set<_Key, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/4.8/bits/stl_set.h:778:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::set<_Key, _Compare, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/set:62:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:86,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_multiset.h:763:5: note: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&)
     operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
     ^
/usr/include/c++/4.8/bits/stl_multiset.h:763:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::multiset<_Key, _Compare, _Alloc>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/stack:61:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:88,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/stl_stack.h:267:5: note: template<class _Tp, class _Seq> bool std::operator!=(const std::stack<_Tp, _Seq>&, const std::stack<_Tp, _Seq>&)
     operator!=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
     ^
/usr/include/c++/4.8/bits/stl_stack.h:267:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::stack<_Tp, _Seq>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/valarray:587:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:415:5: note: template<class _Dom1, class _Dom2> std::_Expr<std::_BinClos<std::__not_equal_to, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__not_equal_to, typename _Dom1::value_type>::result_type> std::operator!=(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)
     _DEFINE_EXPR_BINARY_OPERATOR(!=, __not_equal_to)
     ^
/usr/include/c++/4.8/bits/valarray_after.h:415:5: note:   template argument deduction/substitution failed:
biperm.cpp:29:23: note:   'std::vector<std::pair<int, int> >' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
       } else if (e != p) {

                       ^
In file included from /usr/include/c++/4.8/valarray:587:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94,
                 from biperm.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:415:5: note: template<class _Dom> std::_Expr<std::_BinClos<std::__not_equal_to, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__not_equal_to, typename _Dom1::v

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Biperm face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.