0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 10
|
|
1 | |
Два конвейера разливают и закупоривают бутылки. Определить оптимальную расстановку бутылок.16.07.2015, 08:42. Показов 868. Ответов 4
Метки нет (Все метки)
Помогите с задачей.В цеху по производству напитков работают два конвеера.На первом конвеере напиток разливается в бутылки, а во втором происходит закупорка бутылок. После схождения с конвеера очередной бутылки он сразу же поступает на следующий. Поскольку тара используеться разная, каждая бутылка имеет свое времья заполнения и времья закупорки. Написать программу для определенной последовательности бутылок.
А) определяем времья через которое последння бутылка в этой последовательности будет закупорена; Б)найти такую перестановку заданных бутылок, прикоторой общее времья разлива и закупорки было бы минимальным, определить это время.
0
|
16.07.2015, 08:42 | |
Ответы с готовыми решениями:
4
Сколько бутылок воды можно выпить на n грн, учитывая, что пустые бутылки можно сдавать, и на полученные деньги приобрета Найти оптимальную расстановку Определить, сколько можно купить бутылок лимонада на n копеек Динамическое программирование. Определить оптимальную загрузку самолетов с грузоподъёмностью от G до 1,3G |
David_Ok
|
16.07.2015, 08:50
#2
|
0
|
0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 10
|
||||||
16.07.2015, 09:37 [ТС] | 3 | |||||
David_Ok, типа того. задача с олипиады по инфе. для младших классов. Не пойму сам алгоритм, конвеер по разливу наливает все время пока закупориват другой? в оьратонм случае время разлива и закупорки, начиная со второй бутылки равно???
Добавлено через 8 минут Вот то что я пока "нарешал"
В случе если розливочный конвеер может простаивать(разливает только по одной бутылке) по-моему будет так for(i=1;i<n;i++){ ( arr1[i]<arr2[i-1])?:time=2*arr[i]; (arr1[i+1])<arr2[i])?:time=2*arr1[i+1]; } time+=arr1[0]+arr2[n-1]; кто нибудь подскажет?
0
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
16.07.2015, 09:38 | 4 |
0
|
0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 10
|
|
16.07.2015, 11:48 [ТС] | 5 |
И звините за грамматику. Я сам украиноязычный, перевожу как умею.
Добавлено через 12 минут Короче вот такой вот код получаеться. Я правильно понял алгоритм?? #include <iostream> #include <windows.h> #include <ctime> using namespace std; int main() {//bottles; srand(time(0)); const int n=4; int arr1[n],arr2[n],arr3[n],h=0,res=0,res1=0; for(int i=0;i<n;i++){ arr1[i]=1+rand()%9; cout<<" "<<arr1[i]; } cout<<endl<<endl; cout<<" "<<" "; for(int i=0;i<n;i++){ arr2[i]=1+rand()%9; cout<<" "<<arr2[i]; } cout<<endl<<endl; for(int i=1;i<n;i++){ if(arr2[i-1]>arr1[i]) arr3[i]=2*arr2[i-1]; if(arr1[i]>arr2[i]) arr3[i]=2*arr1[i]; //if(arr1[i-1]>arr2[i]) //res+=arr2[i]+(arr1[i-1]-arr2[i]); res+=arr3[i]; } res1=res+arr1[0]+arr2[n-1]; cout<<res1;//time needed for unsorted bottles; cout<<endl<<endl; getch(); return 0; } Добавлено через 1 час 55 минут Контейнер у меня работает так: int main() {//bottles; srand(time(0)); const int n=10; int arr1[n],arr2[n],arr3[n],h=0,res=0,res1=0,max=0,max1=0; for(int i=0;i<n;i++){ arr1[i]=1+rand()%9; cout<<" "<<arr1[i]; } cout<<endl<<endl; cout<<" "<<" "; for(int i=0;i<n;i++){ arr2[i]=1+rand()%9; cout<<" "<<arr2[i]; } cout<<endl<<endl; for(int i=1;i<n;i++){ if(arr2[i-1]>=arr1[i]) arr3[i]=arr2[i-1]; else arr3[i]=arr1[i]; res+=arr3[i]; } res1=res+arr1[0]+arr2[n-1]; cout<<res1<<"time needed for unsorted bottles"<<endl; getch(); return 0; }
0
|
16.07.2015, 11:48 | |
16.07.2015, 11:48 | |
Помогаю со студенческими работами здесь
5
Определить правильную расстановку "спичек" в игре Креатив из бутылки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |