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

Задача про водопровод - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ с++ http://www.cyberforum.ru/cpp-beginners/thread417433.html
Задание:Найти простые числа, такие что сумма их цифр,а также сумма цифр следующего за ним простого числа делилась на 7. Вывести число таких чисел.(от 7 до 32байт минимальный диапазон)На с++
C++ Нужно написать программу, печатающую все буквы латинского алфавита от Z до A Помогите пожалуйста! Нужно написать программу, печатающую все буквы латинского алфавита от Z до A. http://www.cyberforum.ru/cpp-beginners/thread417432.html
C++ Тип char ошыбка в обьявлении исправте хто может
Всем здрасте! :) А почему когда я пишу так при обьявлении типа char: char name={f,r,a,n,c,a,null}; Компилятор выдает ошыбку!Помогите пожалуста укажыте пожалуста ошыбку.По идее прога должна отображать на экране слово «franca» .Не нужно писать всю программу просто укажыте ошыбки в этой строчке или напишыте правильно.Ошыбки только в этой строчке потому что когда я пишу так: char...
C++ Упорядочить слова заданного предложения в соответствии с ростом их длины.
Упорядочить слова заданного предложения в соответствии с ростом их длины. помогите пожалуйста решить, заранее спасибо
C++ Подсчет всех различных сумм http://www.cyberforum.ru/cpp-beginners/thread417408.html
Здравствуйте. Мне необходимо реализовать следующее. Есть n наборов чисел по li штук.i=1,n. необходимо посчитать все возможные суммы из всех этих чисел, по одному из каждого i набора. Пример: 1 набор: 10 20 30 40 2 набор: 50 60 3 набор: 70 80 90 s1=10+50+70 s2=10+50+80 s3=10+50+90 и т.д. Помогите, пожалуйста!
C++ fstream Дан текстовый файл. Осуществить посимвольную чередующуюся печать файла в прямом и обратном направлении в новый файл. Например, если в файле было слово ЛУНА, то в результирующем файле должно быть слов ЛАУННУАЛ. Очень нужно) подробнее

Показать сообщение отдельно
crewww
30 / 1 / 1
Регистрация: 28.10.2010
Сообщений: 102
28.12.2011, 09:48  [ТС]     Задача про водопровод
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Давайте попробуем рекурсией:
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
#include <iostream>
#include <fstream>
using namespace std;
int c[4], l[4],m[100],n[100]; 
int j,i,x1,y1,x2,y2,k,s, res=-1;
void rec(int sum, int fl, int pred, int col)
{
    
    if(fl==1)
    {
        if(sum==y1)
        {
            if(res==-1)
                res=col;
            else
            {
                if(res>col)
                    res=col;
            }
            return;
        }
        if(sum>y1)
            return;
        if(pred==k)
            return;
        int i;
        for(i=0; i<=c[pred]; i++)
        {
 
            rec(sum+i*l[pred], fl, pred+1, col+i);
        }
    }
    else
    {
        if(sum==x1)
        {
            rec(0, 1, 0, col);
        }
        if(sum>x1)
            return;
        if(sum<x1)
        {
            if(pred==k)
                return;
            int i, tmp=c[pred];
            for(i=0; i<=tmp; i++)
            {
                c[pred]=tmp-i;
                rec(sum+i*l[pred], fl, pred+1, col+i);
                c[pred]=tmp;
            }
        }
    }
 
}
int main()
{
    ifstream wpipein;
    ofstream wpipeout;
    wpipein.open("wpipein.txt");
    wpipeout.open("wpipeout.txt");
    wpipein>>x1>>y1>>x2>>y2>>k;
    for (i=0; i<k;i++)
        wpipein>>l[i]>>c[i];
    x1=abs(x1-x2); y1=abs(y1-y2);
    rec(0, 0, 0, 0);
    wpipeout<<res;
    wpipein.close();
    wpipeout.close();
    return 0;
}
в некоторых случаях программа работает к сожалению неверно(
 
Текущее время: 15:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru