0 / 0 / 0
Регистрация: 31.05.2019
Сообщений: 21
1

Перевести с C++ на python

26.06.2019, 14:48. Показов 618. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Плохо разбираюсь в Питоне, помогите перевести пожалуйста код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
vector<int> dp[2]; 
vector<int> take[2]; 
int f(const vector<int> &a, int k, int can_take_two) {
   if(k >= n) return 0;
   if (dp[k][can_take_two] > MIN_INT) return dp[k][can_take_two];
   // skip;
   int best = f(a, k+1, can_take_two);
   take[k][can_take_two] = 0;
   // take 1;
   int cur = f(a, k+2, can_take_two) + a[k];
   if (cur > best) {
     best = cur;
     take[k][can_take_two] = 1;
   }
   if (can_take_two && k + 1 < n) {
      cur = f(k+3, 0) + a[k] + a[k+1];
      if (cur > best) {
        best = cur;
        take[k][can_take_two] = 2;
      }
   }
   dp[k][can_take_two] = best;
   return best;
}
 
k = 0; ct = 1;
while (k <n) {
  num = take[k][ct];
  for (j = 0; j < num; ++j) {
    cout << a[k+j] << " ";
  }
  if (num == 2) ct = 0;
  k += num + 1;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2019, 14:48
Ответы с готовыми решениями:

Перевести c++ на python
struct Node { int number; int info; Node *p; }; void add_car(Node **top,int...

Перевести с python на c++
n, m = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int,...

Перевести с C++ на python
Добрый день, уважаемые форумчане, прошу вашей помощи. Нужно перевести с С++ на python код или хотя...

Перевести с python на c++
def foo(): if random.randint(0, 1) == 0: return 228 else: return &quot;1337&quot;

Перевести С++ на Python
c++ to python ошибься в теме #include&lt;iostream&gt; #include&lt;string&gt; using namespace std; int...

2
Модератор
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
26.06.2019, 22:51 2
Mox0n, а задача алгоритма какая?
0
0 / 0 / 0
Регистрация: 31.05.2019
Сообщений: 21
27.06.2019, 07:47  [ТС] 3
Человек и робот играют в игру.Первый ход делает человек. На столе лежат N карточек с цифрами(на карточках написаны цифры). Робот и человек берут карточки поочередно.Когда наступает ход человека,то у него есть 2 возможности: взять 1 карточку или пропустить ход.Один раз за всю игру человек может взять за 1 ход сразу две карточки.У робота таких возможностей нету,он берет каждый раз только одну карточку и не может пропускать ходы. Найти выигрышную для человека траекторию,т.е. такой набор ходов,при котором все взятые человеком карточки давали бы большую сумму,чем те карточки,которые взял робот.
0
27.06.2019, 07:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2019, 07:47
Помогаю со студенческими работами здесь

Перевести в python
Rectangle ob = new Rectangle(3, 5); - язык C# Rectangle- class как создать такую же переменную в...

Перевести с python на c++
Пожалуйста кто-нибудь помогите перевести n = int(input()) st = {} gst = {} for i in range(n):...

Перевести с python на c++
Помогите перевести пожалуйста n = int(input()) a = list() x = set() y = set() for i in...

Перевести с python на c++
from collections import deque n, k = map(int, input().split()) x, d, ssum = list(map(int,...

Перевести с python на c++
def height(man): if man not in p_tree: return 0 else: return 1 +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru