Detalii evaluare #57717389

Rezumat problemă

#2899 timbre

Vasilică a devenit filatelist pasionat. Din acest motiv toți prietenii i-au adus de ziua lui timbre, foarte multe timbre. Acum încearcă să organizeze timbrele primite. Fiecare timbru face parte dintr-o serie și are o valoare. Timbre distincte din aceeași serie au valori distincte. Este posibil ca Vasilică să fi primit și dubluri (adică să fi primit același timbru de mai multe ori). Valoarea unei serii este egală cu suma valorilor timbrelor distincte din seria respectivă. Dublurile nu contribuie la valoarea seriei, dar Vasilică le poate folosi pentru a face schimb de timbre cu alți filateliști. Cunoscând lista timbrelor primite, scrieți un program care să rezolve următoarele cerințe:
1. determină numărul de serii distincte din care fac parte timbrele primite;
2. determină numărul de timbre unicat (care nu au dublură);
3. determină seriile cu cea mai mare valoare.

Olimpiada Municipală Iași, clasele VII-VIII

Detalii

Problema timbre Operații I/O timbre.in/timbre.out
Limita timp 0.1 secunde Limita memorie Total: 4 MB / Stivă 1 MB
Id soluție #57717389 Utilizator Tanasoiu Darius Andrei (darius_tanasoiu)
Fișier timbre.cpp Dimensiune 1.23 KB
Data încărcării 11 Aprilie 2025, 17:41 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

timbre.cpp: In function 'int main()':
timbre.cpp:34:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(k=0;k<strlen(a);k++)

                           ^
timbre.cpp:60:46: error: no match for 'operator!=' (operand types are 'std::string {aka std::basic_string<char>}' and 'int')
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                              ^
timbre.cpp:60:46: 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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::fpos<_StateT>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::pair<_T1, _T2>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::reverse_iterator<_Iterator>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::reverse_iterator<_Iterator>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::move_iterator<_Iterator>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::move_iterator<_Iterator>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::allocator<_CharT>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::allocator<_CharT>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   mismatched types 'const std::basic_string<_CharT, _Traits, _Alloc>' and 'int'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   mismatched types 'const _CharT*' and 'std::basic_string<char>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   mismatched types 'const _CharT*' and 'int'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::complex<_Tp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::complex<_Tp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   mismatched types 'const std::complex<_Tp>' and 'int'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::vector<_Tp, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::linear_congruential_engine<_UIntType, __a, __c, __m>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::discard_block_engine<_RandomNumberEngine, __p, __r>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::shuffle_order_engine<_RandomNumberEngine, __k>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::uniform_int_distribution<_IntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::uniform_real_distribution<_IntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::normal_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::lognormal_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::gamma_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::chi_squared_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::cauchy_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::fisher_f_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::student_t_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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::string {aka std::basic_string<char>}' 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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::binomial_distribution<_IntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::geometric_distribution<_IntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::negative_binomial_distribution<_IntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::poisson_distribution<_IntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::exponential_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::weibull_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::extreme_value_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::discrete_distribution<_IntType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::piecewise_constant_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::piecewise_linear_distribution<_RealType>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::array<_Tp, _Nm>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::tuple<_Elements ...>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::function<_Res(_ArgTypes ...)>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   cannot convert 'v[i].cff::p1' (type 'std::string {aka std::basic_string<char>}') to type 'std::nullptr_t'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::deque<_Tp, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::_List_iterator<_Tp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::list<_Tp, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::_Rb_tree_iterator<_Tp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   cannot convert 'v[i].cff::p1' (type 'std::string {aka std::basic_string<char>}') to type 'std::nullptr_t'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::__shared_ptr<_Tp1, _Lp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   cannot convert 'v[i].cff::p1' (type 'std::string {aka std::basic_string<char>}') to type 'std::nullptr_t'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::shared_ptr<_Tp1>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::shared_ptr<_Tp1>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   cannot convert 'v[i].cff::p1' (type 'std::string {aka std::basic_string<char>}') to type 'std::nullptr_t'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::queue<_Tp, _Seq>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::set<_Key, _Compare, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not derived from 'const std::multiset<_Key, _Compare, _Alloc>'
             if(v[i].p1!=v[i-1].p1 and v[i].p1!=v[i+1].p2 or v[i].p1!=v[i+1].p1 and v[i].p2!=v[i-1].p2)

                                                       ^
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 timbre.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:
timbre.cpp:60:55: note:   'std::string {aka std::basic_string<char>}' is not deri

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 timbre 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ă.