Форум программистов, компьютерный форум 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
25.12.2011, 22:05     Задача про водопровод
Город Восточный постоянно страдает от недостатка воды. Для устранения этой проблемы была построена новая водопроводная труба. Строительство трубы началось с обоих концов одновременно, и спустя некоторое время половины соединились. Ну, почти. Первая половина трубы заканчивалась в точке (x1, y1), а вторая - в точке (x2, y2).

К сожалению, осталось лишь несколько отрезков трубы различной длины. Более того, из-за специфики местной технологии трубы могут быть проложены только в направлении с севера на юг или с востока на запад и соединяются, образуя или прямую, или угол 90 градусов. Требуется, зная длины отрезков труб L1, L2, ..., LK и количество отрезков каждой длины C1, C2, ..., CK, сконструировать трубу, соединяющую две заданные точки, или определить, что это невозможно.

Ограничения: 1 <= K <= 4, 1 <= x1, y1, x2, y2, Li <= 1000, 1 <= Ci <= 10, все числа целые, время 3 с.
Ввод из файла wpipe.in. В первой строке находятся числа x1, y1, x2, y2, K, затем 2K чисел: L1, L2, ..., LK, C1, C2, ..., CK.
Вывод в файл wpipe.out. Вывести одно число - минимальное количество нужных отрезков труб или -1, если соединение невозможно.
Примеры
Ввод 1 Ввод 2
5 5 5 6 1 2 10 20 10 60 50 2 70 30 2 2
Вывод 1 Вывод 2
-1 4
моя попытка решить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <fstream>
using namespace std;
void main()
{ifstream wpipein; ofstream wpipeout;
int c[4],l[4]; int x1,y1,x2,y2,i,j,s=0,t=0,m;
int k;
wpipein.open("wpipein.txt"); wpipeout.open("wpipeout.txt");
wpipein>>x1>>y1>>x2>>y2>>k;
for (i=0; i<k; i++)
wpipein>>c[i]>>l[i];
for (i=0;i<k; i++)
for (j=0;j<k;j++)
{if ((abs(x1-x2)==s+c[i]*l[i])&&(abs(y1-y2)==t+c[j]*l[j])&&(c[k]>=c[i]+c[j]))
{s=c[i]*l[i]; t=c[j]*l[j];
if ((abs(x1-x2)%l[k]==0)&&(abs(y1-y2)%l[k]==0))
{m=abs(x1-x2)/l[k]+abs(y1-y2)/l[k];
if (m<=c[k]) wpipeout<<m; else wpipeout<<-1;
}}}}
скажите я вообще правильно рассуждаю?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru