Detalii evaluare #50542030

Rezumat problemă

#2147 z

Magazinul de jocuri a lansat cea mai recentă versiune a jocului Z, pentru a-i ajuta pe elevii din clasa a VIII-a să înțeleagă mai bine modul de identificare a coordonatelor unui punct din plan, într-un sistem de axe ortogonale.

Pe ecran este afișată o foaie de matematică și sistemul de axe ortogonale xOy. Succesiv, apar coordonatele întregi ale
unor puncte din plan. Jucătorul trebuie să marcheze pe foaie fiecare punct și să traseze un segment care să unească
punctul (cu excepția primului punct marcat) cu cel marcat anterior.

La sfârșitul jocului, jucătorul trebuie să numere de câte ori a trecut prin originea sistemului de coordonate O(0,0) și care este numărul maxim al semnelor Z distincte, formate cu puncte marcate.

Cunoscându-se n (numărul de puncte afișate succesiv pe ecran) și coordonatele celor n puncte din plan, să se scrie un program care determină:

  1. Numărul de treceri prin originea sistemului de coordonate.
  2. Numărul maxim al semnelor Z distincte, formate cu puncte marcate.

ONIGIM 2017, Clasa a VIII-a

Detalii

Problema z Operații I/O z.in/z.out
Limita timp 1 secunde Limita memorie Total: 20 MB / Stivă 20 MB
Id soluție #50542030 Utilizator Carnu Emilian (Emilian123123)
Fișier z.cpp Dimensiune 754 B
Data încărcării 14 Aprilie 2024, 13:06 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

z.cpp: In function 'int main()':
z.cpp:34:45: error: no match for 'operator!=' (operand types are 'punct' and 'punct')
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                             ^
z.cpp:34:45: 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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::fpos<_StateT>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::pair<_T1, _T2>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::reverse_iterator<_Iterator>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::reverse_iterator<_Iterator>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::move_iterator<_Iterator>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::move_iterator<_Iterator>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::allocator<_CharT>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::allocator<_CharT>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   mismatched types 'const _CharT*' and 'punct'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::complex<_Tp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::complex<_Tp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::complex<_Tp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::vector<_Tp, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::linear_congruential_engine<_UIntType, __a, __c, __m>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::discard_block_engine<_RandomNumberEngine, __p, __r>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::shuffle_order_engine<_RandomNumberEngine, __k>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::uniform_int_distribution<_IntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::uniform_real_distribution<_IntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::normal_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::lognormal_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::gamma_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::chi_squared_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::cauchy_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::fisher_f_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::student_t_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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 'punct' 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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::binomial_distribution<_IntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::geometric_distribution<_IntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::negative_binomial_distribution<_IntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::poisson_distribution<_IntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::exponential_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::weibull_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::extreme_value_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::discrete_distribution<_IntType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::piecewise_constant_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::piecewise_linear_distribution<_RealType>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::array<_Tp, _Nm>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::tuple<_Elements ...>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::function<_Res(_ArgTypes ...)>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   cannot convert 'a' (type 'punct') to type 'std::nullptr_t'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Deque_iterator<_Tp, _Ref, _Ptr>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::deque<_Tp, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_List_iterator<_Tp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::list<_Tp, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Rb_tree_iterator<_Tp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::unique_ptr<_Tp, _Dp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   cannot convert 'a' (type 'punct') to type 'std::nullptr_t'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::__shared_ptr<_Tp1, _Lp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   cannot convert 'a' (type 'punct') to type 'std::nullptr_t'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::shared_ptr<_Tp1>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::shared_ptr<_Tp1>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   cannot convert 'a' (type 'punct') to type 'std::nullptr_t'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::queue<_Tp, _Seq>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::set<_Key, _Compare, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::multiset<_Key, _Compare, _Alloc>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::stack<_Tp, _Seq>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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::value_type>::result_type> std::operator!=(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__not_equal_to, typename _Dom1::value_type>::result_type> std::operator!=(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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::_ValArray, _Dom, typename _Dom::value_type>, 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::valarray<typename _Dom::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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
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 z.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::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__not_equal_to, typename _Dom1::value_type>::result_type> std::operator!=(const std::valarray<typename _Dom::value_type>&, const std::_Expr<_Dom1, typename _Dom1::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:
z.cpp:34:48: note:   'punct' is not derived from 'const std::valarray<typename _Dom::value_type>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94:0,
                 from z.cpp:1:
/usr/include/c++/4.8/valarray:1180:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::__not_equal_to, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__not_equal_to, _Tp>::result_type> std::operator!=(const std::valarray<_Tp>&, const std::valarray<_Tp>&)
 _DEFINE_BINARY_OPERATOR(!=, __not_equal_to)
 ^
/usr/include/c++/4.8/valarray:1180:1: note:   template argument deduction/substitution failed:
z.cpp:34:48: note:   'punct' is not derived from 'const std::valarray<_Tp>'
             if (b.x * a.y == a.x * b.y && a != origine && b != origine)

                                                ^
In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94:0,
                 from z.cpp:1:
/usr/include/c++/4.8/valarray:1180:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::__not_equal_to, std::_ValArray, std:

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