Detalii evaluare #56047406

Rezumat problemă

planar

#4586

În teoria grafurilor, un graf planar este un graf care poate fi încorporat într-un plan, adică poate fi desenat în plan în așa fel încât muchiile sale să se intersecteze doar în noduri. Cu alte cuvinte, aceste poate fi desenat în așa fel încât oricare două muchii să nu se intersecteze. Florin urmează în perioada 2023-2029 studii în informatică.
Fiind date NR = 2 * N noduri fixe (asemănător cu ceasul clasic) în planul xOy și N muchii, Florin vrea să determine numărul grafurilor distincte planare în care fiecare nod va avea gradul 1. Scrieţi un program care să determine numărul de grafuri obținute de Florin.

Detalii

Problema planar Operații I/O planar.in/planar.out
Limita timp 1 secunde Limita memorie Total: 128 MB / Stivă 8 MB
Id soluție #56047406 Utilizator tanase catalin (baiatdebaiat)
Fișier planar.cpp Dimensiune 1.77 KB
Data încărcării 04 Februarie 2025, 10:07 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

planar.cpp: In function 'long long int numberOfPlanarGraphs(int, long long int)':
planar.cpp:18:63: error: no matching function for call to 'pow(int, int&, long long int&)'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
planar.cpp:18:63: note: candidates are:
In file included from /usr/include/features.h:374:0,
                 from /usr/include/assert.h:35,
                 from /usr/include/c++/4.8/cassert:43,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:33,
                 from planar.cpp:1:
/usr/include/i386-linux-gnu/bits/mathcalls.h:153:1: note: double pow(double, double)
 __MATHCALL (pow,, (_Mdouble_ __x, _Mdouble_ __y));
 ^
/usr/include/i386-linux-gnu/bits/mathcalls.h:153:1: note:   candidate expects 2 arguments, 3 provided
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::_Pow, std::_Constant, std::_ValArray, _Tp, _Tp>, _Tp> std::pow(const _Tp&, const std::valarray<_Tp>&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::valarray<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::_Pow, std::_ValArray, std::_Constant, _Tp, _Tp>, _Tp> std::pow(const std::valarray<_Tp>&, const _Tp&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::valarray<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::_Pow, std::_ValArray, std::_ValArray, _Tp, _Tp>, _Tp> std::pow(const std::valarray<_Tp>&, const std::valarray<_Tp>&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::valarray<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Dom> std::_Expr<std::_BinClos<std::_Pow, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename _Dom::value_type> std::pow(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Dom> std::_Expr<std::_BinClos<std::_Pow, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename _Dom::value_type> std::pow(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Dom> std::_Expr<std::_BinClos<std::_Pow, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename _Dom::value_type> std::pow(const std::valarray<typename _Dom::valarray>&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::valarray<typename _Dom::valarray>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Dom> std::_Expr<std::_BinClos<std::_Pow, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename _Dom::value_type> std::pow(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray<typename _Dom::value_type>&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note: template<class _Dom1, class _Dom2> std::_Expr<std::_BinClos<std::_Pow, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename _Dom1::value_type> std::pow(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)
 _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow)
 ^
/usr/include/c++/4.8/bits/valarray_after.h:544:1: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/complex:1871:5: note: template<class _Tp, class _Up> std::complex<typename __gnu_cxx::__promote_2<_Tp, _Up>::__type> std::pow(const std::complex<_Tp>&, const std::complex<_Up>&)
     pow(const std::complex<_Tp>& __x, const std::complex<_Up>& __y)
     ^
/usr/include/c++/4.8/complex:1871:5: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::complex<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/complex:1863:5: note: template<class _Tp, class _Up> std::complex<typename __gnu_cxx::__promote_2<_Tp, _Up>::__type> std::pow(const _Tp&, const std::complex<_Up>&)
     pow(const _Tp& __x, const std::complex<_Up>& __y)
     ^
/usr/include/c++/4.8/complex:1863:5: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::complex<_Up>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/complex:1855:5: note: template<class _Tp, class _Up> std::complex<typename __gnu_cxx::__promote_2<_Tp, _Up>::__type> std::pow(const std::complex<_Tp>&, const _Up&)
     pow(const std::complex<_Tp>& __x, const _Up& __y)
     ^
/usr/include/c++/4.8/complex:1855:5: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::complex<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/complex:1034:5: note: template<class _Tp> std::complex<_Tp> std::pow(const _Tp&, const std::complex<_Tp>&)
     pow(const _Tp& __x, const complex<_Tp>& __y)
     ^
/usr/include/c++/4.8/complex:1034:5: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::complex<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/complex:1023:5: note: template<class _Tp> std::complex<_Tp> std::pow(const std::complex<_Tp>&, const std::complex<_Tp>&)
     pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
     ^
/usr/include/c++/4.8/complex:1023:5: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::complex<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
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 planar.cpp:1:
/usr/include/c++/4.8/complex:989:5: note: template<class _Tp> std::complex<_Tp> std::pow(const std::complex<_Tp>&, const _Tp&)
     pow(const complex<_Tp>& __x, const _Tp& __y)
     ^
/usr/include/c++/4.8/complex:989:5: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   mismatched types 'const std::complex<_Tp>' and 'int'
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:41:0,
                 from planar.cpp:1:
/usr/include/c++/4.8/cmath:434:5: note: template<class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::pow(_Tp, _Up)
     pow(_Tp __x, _Up __y)
     ^
/usr/include/c++/4.8/cmath:434:5: note:   template argument deduction/substitution failed:
planar.cpp:18:63: note:   candidate expects 2 arguments, 3 provided
     long long denominator = (factorial(N, mod) * pow(2, N, mod)) % mod;

                                                               ^
In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:41:0,
                 from planar.cpp:1:
/usr/include/c++/4.8/cmath:411:3: note: constexpr long double std::pow(long double, long double)
   pow(long double __x, long double __y)
   ^
/usr/include/c++/4.8/cmath:411:3: note:   candidate expects 2 arguments, 3 provided
/usr/include/c++/4.8/cmath:407:3: note: constexpr float std::pow(float, float)
   pow(float __x, float __y)
   ^
/usr/include/c++/4.8/cmath:407:3: note:   candidate expects 2 arguments, 3 provided

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

Du-te sus!