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

Расставка знаков в последовательности! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу для ввода числа из заданного диапазона http://www.cyberforum.ru/cpp-beginners/thread984665.html
Написать программу для ввода числа из заданного диапазона. Программа запрашивает ввод числа до тех пор, пока не будет введено число, удовлетворяющее условиям (использовать цикл do). Добавлено через 15 секунд Написать программу для ввода числа из заданного диапазона. Программа запрашивает ввод числа до тех пор, пока не будет введено число, удовлетворяющее условиям (использовать цикл do). ...
C++ Лежит ли точка в заданой области? Необходимо решить следующую задачу: http://www.cyberforum.ru/cpp-beginners/thread984634.html
C++ Ничего не получается
#include "stdafx.h"; #include "iostream" using namespace std; void main () { setlocale (0, "rus"); cout <<"Легензов Е.Ю\n"; cout <<"\nЗадание 7.1\n"; const int N = 10;
C++ Последовательность случайных чисел
void rndChain(){ system("cls"); SetConsoleTitleA("Кiлькiсть повторень заданого числа"); qsrand(QTime(0,0,0).secsTo(QTime::currentTime())); uint n, buf, q, ch; cout<<"Введiть обсяг вибірки"; cin>>n; cout<<"Введiть число"; cin>>ch; for(int i=0;i<10;i++){
C++ Применение конструктора- пример из книги.Что за чудиса? http://www.cyberforum.ru/cpp-beginners/thread984607.html
Вместо того что в конструктооре инициализировать переменные в скобках- одной переменной присваиваем значение другой, приминяя присвоитель = , тут я вижу невесть что и пустые скобки... Что это? Это ошибка автора и ли как-то так тоже можно и верно? Пример Листинг 10.2. Использование значений, заданных по умолчанию 1: //Листинг 10.2. Использование значений, заданных по умолчанию 2: #include...
C++ Сортировка двоичным включением У меня задание продемонстрировать в виде таблицы алгоритм роботы сортировки с двоичным включением на массиве 15,4,10,8,6,9,16,1. Код сортиовки:for(j=1;j<n;j++) i=0; l=0;z=j; while(l<z) {m=(l+z)/2; if(a==a)l=m+1; else z=m;} i=l;S=a; if(i!=j) {for(k=0;k<=j-i-1;k++) подробнее

Показать сообщение отдельно
Севак
любитель покушать
680 / 631 / 106
Регистрация: 25.09.2011
Сообщений: 1,313

Расставка знаков в последовательности! - C++

22.10.2013, 17:20. Просмотров 356. Ответов 1
Метки (Все метки)

Здравствуйте! Есть такое задание:
Задана последовательность A[1..N]. Можно ли перед числами этой последовательности расставить знаки + и -, чтобы получилось значение равное X.

Входные данные
В первой строке заданы N, X (1 <= N <= 100; -10000 <= X <= 10000). Во второй строке последовательность целых чисел A[1..N]. Все числа по модулю не превосходят 100.

И есть такое решение:
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
#include <iostream>
#include <math.h>
 
using namespace std;
int main(){
    int n, x, i, j, tmp;
    bool a[10001][2];
    for(i=0; i<10001; i++)
        a[i][0]=false;
    a[0][0]=true;
    cin>>n>>x;
    for(i=0; i<n; i++)
    {
        if(i%2)
        {
            for(j=0; j<10001; j++)
                a[j][0]=false;
            cin>>tmp;
            for(j=0; j<10001; j++)
                if(a[j][1])
                {
                    a[abs(j-tmp)][0]=true;
                    a[abs(j+tmp)][0]=true;
                }           
        }
        else
        {
            for(j=0; j<10001; j++)
                a[j][1]=false;
            cin>>tmp;
            for(j=0; j<10001; j++)
                if(a[j][0])
                {
                    a[abs(j-tmp)][1]=true;
                    a[abs(j+tmp)][1]=true;
                }           
        }
    }
    if(n%2)
    {
        if(a[abs(x)][1])
            cout<<"yes";
        else
            cout<<"no";
    }
    else
    {
        if(a[abs(x)][0])
            cout<<"yes";
        else
            cout<<"no";
    }  
  return 0;
}
Хотелось бы разобраться в нем, ибо бездумно списывать код не хочется!
Кто может помочь? Просто возник вопрос почему используется двумерный массив для дп и почему в зависимости от четности индекса мы работаем то с первым столбцом то со вторым
Каким образом ответ зависит от четности X?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru