Форум программистов, компьютерный форум CyberForum.ru

Найти счёт при оптимальной стратегии двух игроков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Печать из консоли на принтер http://www.cyberforum.ru/cpp-beginners/thread1224975.html
Здравствуйте столкнулся с такой проблемой как печать с консольного окна результата программы. Хотел сделать следующее сам код программы напечатать допустим на одной стороне листа, а то что в итоге получиться "в консольном окне" это напечатать на другой стороне чтобы легко можно было просмотреть результат. Как это можно сделать подскажите.
C++ Записать в третий файл через один содержимое первого файла и второго Даны 2 файла содержащие числа , записать в 3 файл через один содержимое первого файла и второго файла и сумму первого и второго http://www.cyberforum.ru/cpp-beginners/thread1224965.html
Управление перемещением символов в командной строке C++
используя интерактивный ввод данных управлять перемещением символов в командной строке
Для целого числа найти его представление в виде среднего арифметического квадратов чисел C++
Заставляют решить такую задачу: Для целого числа N найти его представление в виде среднего арифметического квадратов натуральных чисел. Например, 2007=(2^2+12^2+22^2+86^2)/4. В первой строке ввода содержится одно целое число N (1 ≤ N ≤ 100000). Вывести в первой строке число K (1 ≤ K ≤ 1000). Во второй строке K натуральных чисел от 1 до 1000, среднее арифметическое квадратов которых равно...
C++ Как преобразовать код для n-ого количества строк? http://www.cyberforum.ru/cpp-beginners/thread1224894.html
Всем доброго дня, у меня есть проблема с кодом, не получается вот что, сделать так чтобы частоты символом считались для всего текста, а не для строки отдельно. Есть код: #include "stdafx.h" #include <iostream> #include <string.h> #include <stdio.h> #include <Windows.h> #include <stdlib.h> using namespace std; int main()
C++ Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A "Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и удалить латинские буквы из A; в остальных случаях продублировать русские буквы в A и удалить повторяющиеся символы из B." Такая вот задача... Пользую dev c++ 5.4.2. Дело вот в чем: ввожу в качестве первой строки такой набор: 1hы, а в качестве второй строки:... подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
09.07.2014, 16:23  [ТС]     Найти счёт при оптимальной стратегии двух игроков
Цитата Сообщение от soon Посмотреть сообщение
Нет, тут вообще вопрос лишь в том, кто находится справа, а кто слева.
да, я сначала подумал что будет играть роль четность шагов между ними, но понял уже что просто как только следующая позиция принадлежит др игроку надо разворачиваться и убегать

Добавлено через 9 минут
вроде тоже сделал
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
srand(time(0));
int n;
int pl1,pl2;
n=10+rand()%15;
int *a=new int[n];
pl1=1+rand()%n;
pl2=1+rand()%n;
if(pl1>pl2)
    swap(pl1,pl2);
 
  for (;pl1==pl2;)
    pl2=rand()%n;
 
for(int i=1;i<n;i++)
  {
  cout<<setw(3)<<(a[i]=rand()%10);
  }
cout<<endl<<"pos player 1 = "<<pl1<<endl<<"pos player 2 = "<<pl2;
  int sum1=0;
  int sum2=0;
 
  for (int i=0;pl1<pl2;i++)
    {
    sum1+=a[pl1];
    a[pl1++]=0;
    sum2+=a[pl2];
    a[pl2--]=0;
    }
  while (pl1>0)
    {
      sum1+=a[pl1];
      a[pl1--]=0;
    }
  while (pl2<n)
    {
      sum2+=a[pl2];
      a[pl2++]=0;
    }
cout<<endl<<"sum1 = "<<sum1<<endl<<"sum2 = "<<sum2;
}
Добавлено через 4 минуты
тест 1 завалил)

хм...странно...мб я оформил неправильно и отправил, поэтому ошибку выдаёт ...

Добавлено через 10 минут
n++;
1ый тест пройден, крашится на 2ом

сам код:

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
35
36
#include <iostream>
using namespace std;
int main()
{
int n;
int pl1,pl2;
cin>>n;
n++;
int *a=new int[n];
for(int i=1;i<n;i++)
  {
  cin>>a[i];
  }
cin>>pl1;
cin>>pl2;
  int sum1=0;
  int sum2=0;
  for (int i=0;pl1<pl2;i++)
    {
    sum1+=a[pl1];
    a[pl1++]=0;
    sum2+=a[pl2];
    a[pl2--]=0;
    }
  while (pl1>0)
    {
      sum1+=a[pl1];
      a[pl1--]=0;
    }
  while (pl2<n)
    {
      sum2+=a[pl2];
      a[pl2++]=0;
    }
cout<<sum1<<endl<<sum2;
}
Добавлено через 3 минуты
дурак я))
pl1 и pl2 могут быть в любом месте, да и равны по идее тоже))

Добавлено через 10 минут
всёравно крашится на 2ом тесте =((

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
using namespace std;
int main()
{
int n;
int pl1,pl2;
int sum1=0;
int sum2=0;
cin>>n;
n++;
int *a=new int[n];
for(int i=1;i<n;i++)
  {
  cin>>a[i];
  }
cin>>pl1;
cin>>pl2;
if(pl1>pl2)
  swap(pl1,pl2);
 
 
if(pl1==pl2)
  {
    int compSum1=0;
    int compSum2=0;
    for (int i=pl1;i<n;i++)
      compSum1+=a[i];
    for (int i=pl1;i>0;i--)
      compSum2+=a[i];
    if (compSum1>compSum2)
        {
        while (pl1<n)
          {
          sum1+=a[pl1];
          a[pl1++]=0;
          }
        while (pl2>0)
          {
          sum2+=a[pl2];
          a[pl2--]=0;
          }
        }
    else
        {
        while (pl1>0)
          {
            sum1+=a[pl1];
            a[pl1--]=0;
          }
        while (pl2<n)
          {
            sum2+=a[pl2];
            a[pl2++]=0;
          }
        }
 
  }
  else
    {
    while(pl1<pl2)
      {
      sum1+=a[pl1];
      a[pl1++]=0;
      sum2+=a[pl2];
      a[pl2--]=0;
      }
    while (pl1>0)
      {
        sum1+=a[pl1];
        a[pl1--]=0;
      }
    while (pl2<n)
      {
        sum2+=a[pl2];
        a[pl2++]=0;
      }
    }
cout<<sum1<<endl<<sum2;
}
Добавлено через 3 минуты
swap был лишним
решил
все тесты пройдены, я молодец, всем спасибо))
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <iostream>
using namespace std;
int main()
{
int n;
int pl1,pl2;
int sum1=0;
int sum2=0;
cin>>n;
n++;
int *a=new int[n];
for(int i=1;i<n;i++)
  {
  cin>>a[i];
  }
cin>>pl1;
cin>>pl2;
 
if(pl1==pl2)
  {
    int compSum1=0;
    int compSum2=0;
    for (int i=pl1;i<n;i++)
      compSum1+=a[i];
    for (int i=pl1;i>0;i--)
      compSum2+=a[i];
    if (compSum1>compSum2)
        {
        while (pl1<n)
          {
          sum1+=a[pl1];
          a[pl1++]=0;
          }
        while (pl2>0)
          {
          sum2+=a[pl2];
          a[pl2--]=0;
          }
        }
    else
        {
        while (pl1>0)
          {
            sum1+=a[pl1];
            a[pl1--]=0;
          }
        while (pl2<n)
          {
            sum2+=a[pl2];
            a[pl2++]=0;
          }
        }
 
  }
  else
    {
      if(pl1<pl2)
        {
        while(pl1<pl2)
          {
          sum1+=a[pl1];
          a[pl1++]=0;
          sum2+=a[pl2];
          a[pl2--]=0;
          }
        while (pl1>0)
          {
            sum1+=a[pl1];
            a[pl1--]=0;
          }
        while (pl2<n)
          {
            sum2+=a[pl2];
            a[pl2++]=0;
          }
        }
        else
        {
        while(pl1>pl2)
          {
          sum1+=a[pl1];
          a[pl1--]=0;
          sum2+=a[pl2];
          a[pl2++]=0;
          }
        while (pl1<n)
          {
            sum1+=a[pl1];
            a[pl1++]=0;
          }
        while (pl2>0)
          {
            sum2+=a[pl2];
            a[pl2--]=0;
          }
        }
    }
cout<<sum1<<endl<<sum2;
}
Добавлено через 2 минуты
хотя решение и убого=(
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru