#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:
OJI 2013, clasele XI-XII
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 | #19927184 | Utilizator | |
Fișier | biperm.cpp | Dimensiune | 2.20 KB |
Data încărcării | 11 Ianuarie 2020, 21:54 | Scor / rezultat | Eroare de compilare |
biperm.cpp: In function 'int main()': biperm.cpp:35:17: error: reference to 'next' is ambiguous next = 0; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:37:21: error: reference to 'next' is ambiguous next = s[crt][0]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:40:25: error: reference to 'next' is ambiguous next = s[crt][1]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:41:28: error: reference to 'next' is ambiguous if(ok[crt][next] == 1) ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:45:23: error: reference to 'next' is ambiguous crt = next; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:49:13: error: reference to 'next' is ambiguous next = s[i][0]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:51:28: error: reference to 'next' is ambiguous sol[crt] = next; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:52:29: error: reference to 'next' is ambiguous if(crt == s[next][0]){ ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:53:27: error: reference to 'next' is ambiguous crt = next; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:54:21: error: reference to 'next' is ambiguous next = s[next][1]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:54:30: error: reference to 'next' is ambiguous next = s[next][1]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:57:27: error: reference to 'next' is ambiguous crt = next; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:58:21: error: reference to 'next' is ambiguous next = s[next][0]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:58:30: error: reference to 'next' is ambiguous next = s[next][0]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:69:17: error: reference to 'next' is ambiguous next = sol[crt]; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:75:24: error: reference to 'next' is ambiguous b[x] = next; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^ biperm.cpp:76:23: error: reference to 'next' is ambiguous crt = next; ^ biperm.cpp:10:38: note: candidates are: short int next short n, i, a[10001], b[10001], crt, next, cicluri, minim, direct, indirect, sol[10001], poz[10001][3]; ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:66: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/fstream:38, from biperm.cpp:1: /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:184:5: note: template<class _ForwardIterator> _ForwardIterator std::next(_ForwardIterator, typename std::iterator_traits<_Iter>::difference_type) next(_ForwardIterator __x, typename ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Biperm face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.