Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/65: Рейтинг темы: голосов - 65, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 6
1

Ребята немогу понять задачу на С++

09.11.2013, 16:29. Показов 11778. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В волшебной стране используются монетки достоинством A1, A2,..., AM. волшебный человечек пришел в магазин и обнаружил, что у него есть ровно по две монетки каждого достоинства. Ему нужно заплатить сумму N. Напишите программу, определяющую, сможет ли он расплатиться без сдачи.

Входные данные

Во входном файле INPUT.TXT записано сначала число N (1 <= N <= 109), затем - число M (1 <= M <= 15) и далее M попарно различных чисел A1, A2,..., AM (1 <= Ai <= 109).

Выходные данные

В выходной файл OUTPUT.TXT выведите количество монет, которое придется отдать волшебному человечку, если он сможет заплатить указанную сумму без сдачи. Если решений несколько, выведите вариант, в котором волшебный человек отдаст наименьшее возможное количество монет. Если без сдачи не обойтись, то выведите одно число 0. Если же у волшебного человечка не хватит денег, чтобы заплатить указанную сумму, выведите одно число -1 (минус один).

Примеры

№ INPUT.TXT OUTPUT.TXT
1 5 2
1 2 3
2 7 2
1 2 -1
3 5 2
3 4 0




http://acmp.ru/index.asp?main=task&id_task=153









Буду очень благодарен если разъясните или поможете с задачей.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.11.2013, 16:29
Ответы с готовыми решениями:

ребята не могу понять эту задачу
Дано натуральное число. Выяснить, является ли оно палиндромом («перевертышем»), т. е. числом,...

Как понять поставленную задачу. Не могу понять этот полиморфизм?
A software academy teaches two types of courses: local courses that are held in some of the...

Немогу понять Not в разветвлении
Всем ку, учу vb сейчас прохожу разветвление.Такое как or(или) And(и) понимаю... но вот Not немогу...

немогу понять ошибку
class Wor { private: static const int sz = 40; char wordik; public: Wor() {...

4
 Аватар для jambas92
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
09.11.2013, 18:24 2
k700a, Вам не понятна суть задачи или решение?
0
 Аватар для Kuzia domovenok
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,521
Записей в блоге: 1
09.11.2013, 18:44 3
Задача на динамическое программирование (google it).
Однако, вопрос в другом! Зачем решать задачи асмр, если за тебя их решает форум? Это ж дело добровольное!
0
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 6
09.11.2013, 20:36  [ТС] 4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Задача на динамическое программирование (google it).
Однако, вопрос в другом! Зачем решать задачи асмр, если за тебя их решает форум? Это ж дело добровольное!
ну чтоб объяснили я хотел

Добавлено через 19 секунд
Цитата Сообщение от jambas92 Посмотреть сообщение
k700a, Вам не понятна суть задачи или решение?
суть)
0
 Аватар для jambas92
59 / 58 / 16
Регистрация: 18.11.2010
Сообщений: 315
10.11.2013, 19:00 5
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
#include <iostream>
 
using namespace std;
 
int main() {
 
    int n, m;
    int *mas, *mas2;
    int count = 0;
    bool flag = false;
 
    cin >> n >> m;
    mas = new int[m];
    mas2 = new int[m];
 
    for (int i=0; i<m; i++) {
        cin >> mas[i];
        mas2[i] = mas[i] * 2;
    }
 
    for (int i=0; i<m-1; i++) {
        for (int j=i+1; j<m; j++) {
            if (mas[i] > mas[j]) {
                swap(mas[i], mas[j]);
                swap(mas2[i], mas2[j]);
            }
        }
    }
 
    for (int i=0; i<m; i++) {
        if (mas[i] == n) {
            cout << 1;
            exit(0);
        }
        if (mas2[i] == n) {
            cout << 2;
            exit(0);
        }
    }
    
    for (int i=0; i<m-1; i++) {
        if (mas[i] + mas[i+1] == n) {
            cout << 2;
            exit(0);
        }
        if (mas2[i] + mas2[i+1] == n) {
            cout << 4;
            exit(0);
        }
        if (mas[i] + mas[i+1] > n) {
            flag = true;
        }
        if (mas2[i] + mas2[i+1] > n) {
            flag = true;
        }
    }
 
    for (int i=0; i<m; i++) {
        for (int j=0; j<m; j++) {
            if (i == j) {
                continue;
            }
            if (mas[i] + mas2[j] == n) {
                cout << 3;
                exit(0);
            }
        }
    }
 
    if (flag) {
        cout << 0;
    } else {
        cout << -1;
    }
    
    
    system("pause");
}
1
10.11.2013, 19:00
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.11.2013, 19:00
Помогаю со студенческими работами здесь

Немогу понять в чем проблема
Создал пол года назад форум onlinedelo.ru зарегистрировал его во многих поисковиках и каталогах,...

Немогу понять в чем ошибка.
Часть кода(проект в WinAPI): #include &quot;stdafx.h&quot; #include &quot;List.h&quot; #include &quot;Theatr.h&quot;...

Немогу понять в чем ошибка.
// lab5OOP.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot;...

Немогу понять в чем ошибка (
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main()...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КуМир: решение геометрических задач
bytestream 28.01.2025
Программирование геометрических задач в среде КуМир становится всё более актуальным в обучении школьников и студентов. КуМир — это разработанная в России обучающая программная среда, предназначенная. . .
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
КуМир, исполнитель Чертежник: Решение задач
bytestream 28.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения основам программирования и алгоритмизации. Исполнитель Чертежник работает на координатной плоскости, где может. . .
Rust или Go? А может C++?
hw_wired 28.01.2025
С каждой новой технологией или методологией появляются новые языки программирования, призванные решать конкретные задачи либо улучшать аспекты производительности и безопасности. Среди множества. . .
Fortran и WinAPI: как создать приложение с графическим интерфейсом
hw_wired 28.01.2025
Fortran — это один из старейших высокоуровневых языков программирования, широко используемый в науке и инженерии уже несколько десятилетий. Его название происходит от "Formula Translation" (перевод. . .
Списки в Haskell
hw_wired 28.01.2025
Haskell является функциональным языком программирования, который отличается лаконичностью синтаксиса и мощными абстракциями. Важным концептом в Haskell являются списки — упорядоченные коллекции. . .
Функции высшего порядка в Haskell
hw_wired 28.01.2025
Haskell – это современный функциональный язык программирования, который получил широкое распространение благодаря своей выразительности и мощным абстракциям. Одной из ключевых особенностей Haskell. . .
Как в цикле обойти все поля объекта в JavaScript
bytestream 28.01.2025
Объекты в JavaScript представляют собой фундаментальные структуры данных, которые позволяют хранить и организовывать связанную информацию в виде пар ключ-значение. Каждый объект можно представить как. . .
Как выбрать строки в DataFrame по значению столбца в Pandas
bytestream 28.01.2025
В области анализа данных библиотека Pandas стала незаменимым инструментом для работы с табличными данными в Python. Эта мощная библиотека предоставляет множество функций для эффективной обработки и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru