답안 #1013405

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1013405 2024-07-03T14:00:02 Z kunzaZa183 마술쇼 (APIO24_show) C++17
컴파일 오류
0 ms 0 KB
#include "Alice.h"

#include <bits/stdc++.h>
using namespace std;
const int n = 5000;

// you may define some global variables, but it does not work if you try to
// transfer any information from function Alice() to function Bob() through
// these variables. you had better not use the same global variables in function
// Alice() and in function Bob().

vector<pair<int, int>> Alice() {
  // add your code here

  // change below into your code
  long long x = setN(n);
  vector<pair<int, int>> vpii;
  for (int i = 1; i < n; i++) 
    vpii.emplace_back(i + 1, x % i + 1);
  return vpii;
}
#include "Bob.h"

#include <bits/stdc++.h>
using namespace std;

// you may define some global variables, but it does not work if you try to
// transfer any information from function Alice() to function Bob() through
// these variables. you had better not use the same global variables in function
// Alice() and in function Bob().

long long Bob(vector<pair<int, int>> V) {
  for (auto &a : V) {
    if (a.first > a.second) swap(a.first, a.second);
    a.first--, a.second--;
  }
  // cout << "Edges\n";
  // for (auto a : V) cout << a.first << ' ' << a.second << "\n";

  __int128_t jump = 1;
  int in = 0;
  __int128_t x = 0;
  for (x = 0; x <= 1e18; x += jump) {
    // cout << x << ' ' << in << ' ' << jump << "\n";
    while (in < V.size()) {
      if (x % V[in].second == V[in].first) {
        if (jump <= 1e18) jump = jump * V[in].second / gcd(jump, V[in].second);
        in++;
      } else
        break;
    }
    if (in >= V.size()) break;
  }
  return x;
}

Compilation message

Bob.cpp: In function 'long long int Bob(std::vector<std::pair<int, int> >)':
Bob.cpp:24:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     while (in < V.size()) {
      |            ~~~^~~~~~~~~~
Bob.cpp:31:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     if (in >= V.size()) break;
      |         ~~~^~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:84,
                 from Bob.cpp:3:
/usr/include/c++/10/numeric: In instantiation of 'constexpr std::common_type_t<_Mn, _Nn> std::gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = int; std::common_type_t<_Mn, _Nn> = __int128]':
Bob.cpp:26:78:   required from here
/usr/include/c++/10/numeric:133:21: error: static assertion failed: gcd arguments are integers
  133 |       static_assert(is_integral_v<_Mn>, "gcd arguments are integers");
      |                     ^~~~~~~~~~~~~~~~~~
/usr/include/c++/10/numeric: In instantiation of 'constexpr std::common_type_t<_Mn, _Nn> std::__detail::__gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = int; std::common_type_t<_Mn, _Nn> = __int128]':
/usr/include/c++/10/numeric:139:29:   required from 'constexpr std::common_type_t<_Mn, _Nn> std::gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = int; std::common_type_t<_Mn, _Nn> = __int128]'
Bob.cpp:26:78:   required from here
/usr/include/c++/10/numeric:105:39: error: use of deleted function 'void std::__detail::__abs_integral(bool)'
  105 |  : __n == 0 ? __detail::__abs_integral(__m)
      |               ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/numeric:98:8: note: declared here
   98 |   void __abs_integral(bool) = delete;
      |        ^~~~~~~~~~~~~~
/usr/include/c++/10/numeric: In instantiation of 'constexpr std::common_type_t<_Mn, _Nn> std::__detail::__gcd(_Mn, _Nn) [with _Mn = int; _Nn = __int128; std::common_type_t<_Mn, _Nn> = __int128]':
/usr/include/c++/10/numeric:106:19:   required from 'constexpr std::common_type_t<_Mn, _Nn> std::__detail::__gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = int; std::common_type_t<_Mn, _Nn> = __int128]'
/usr/include/c++/10/numeric:139:29:   required from 'constexpr std::common_type_t<_Mn, _Nn> std::gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = int; std::common_type_t<_Mn, _Nn> = __int128]'
Bob.cpp:26:78:   required from here
/usr/include/c++/10/numeric:104:49: error: use of deleted function 'void std::__detail::__abs_integral(bool)'
  104 |       return __m == 0 ? __detail::__abs_integral(__n)
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/numeric:98:8: note: declared here
   98 |   void __abs_integral(bool) = delete;
      |        ^~~~~~~~~~~~~~
/usr/include/c++/10/numeric: In instantiation of 'constexpr std::common_type_t<_Mn, _Nn> std::__detail::__gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = __int128; std::common_type_t<_Mn, _Nn> = __int128]':
/usr/include/c++/10/numeric:106:19:   recursively required from 'constexpr std::common_type_t<_Mn, _Nn> std::__detail::__gcd(_Mn, _Nn) [with _Mn = int; _Nn = __int128; std::common_type_t<_Mn, _Nn> = __int128]'
/usr/include/c++/10/numeric:106:19:   required from 'constexpr std::common_type_t<_Mn, _Nn> std::__detail::__gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = int; std::common_type_t<_Mn, _Nn> = __int128]'
/usr/include/c++/10/numeric:139:29:   required from 'constexpr std::common_type_t<_Mn, _Nn> std::gcd(_Mn, _Nn) [with _Mn = __int128; _Nn = int; std::common_type_t<_Mn, _Nn> = __int128]'
Bob.cpp:26:78:   required from here
/usr/include/c++/10/numeric:104:49: error: use of deleted function 'void std::__detail::__abs_integral(bool)'
  104 |       return __m == 0 ? __detail::__abs_integral(__n)
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/numeric:98:8: note: declared here
   98 |   void __abs_integral(bool) = delete;
      |        ^~~~~~~~~~~~~~
/usr/include/c++/10/numeric:105:39: error: use of deleted function 'void std::__detail::__abs_integral(bool)'
  105 |  : __n == 0 ? __detail::__abs_integral(__m)
      |               ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/10/numeric:98:8: note: declared here
   98 |   void __abs_integral(bool) = delete;
      |        ^~~~~~~~~~~~~~