Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.99/146: Рейтинг темы: голосов - 146, средняя оценка - 4.99
58 / 55 / 28
Регистрация: 20.05.2015
Сообщений: 256
1

Найти минимальное время, за которое можно поджарить все котлеты

10.07.2015, 16:36. Показов 26885. Ответов 30
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, хочу представить вашему вниманию небольшую задачку:

Кликните здесь для просмотра всего текста
На сковородке одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон n котлет?

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

В единственной строке входного файла INPUT.TXT записано три натуральных числа: k, m, n, не превышающих 30000.

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

В единственную строку выходного файла OUTPUT.TXT нужно вывести единственное число – минимальное время, за которое можно поджарить все котлеты.


Собственно, задача вроде бы простая, но выдаёт ошибки на разных тестах. Нашёл 2 теста: k = 2, m =1, n = 3 и ответ равен 3 - это правильно или нет? Мне кажется, что должен быть равен 4-м. Также точно ещё числа: k = 99, m = 100, n 100. Ответ теста = 300. Корректны ли тесты? Мой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
    int k, m, n;
    cin >> k >> m >> n;
    if (k == 0 || m == 0 || n == 0)
        cout << 0 << endl;
    int counter = 0;
    while (n > 0)
    {
        n -= k;
        counter += m * 2;
    }
    cout << counter << endl;
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2015, 16:36
Ответы с готовыми решениями:

Как найти минимальное время которое удовлетворяет условие?
Входные данные В первой строке заданы два целых числа N и K (1 ≤ N ≤ 100 –...

Найти минимальное время, за которое автомобиль перевезет три груза со склада в магазин и вернется назад
Имя входного файла: input.txt Имя выходного файла: output.txt Маша помогает папе в разработке...

Найти минимальное количество шариков, которое необходимо перекрасить, чтобы все шарики были одного цвета
Написал код для одной задачи. Ответ выдает он вроде правильный. Но на сайте при тестировании моего...

Меню, которое все время на экране и которое не исчезает при скролле странички
как делается меню, которое все время на экране и которое не исчезает при скролле странички?

30
26 / 15 / 17
Регистрация: 09.07.2015
Сообщений: 47
10.07.2015, 19:02 21
Author24 — интернет-сервис помощи студентам
C++
1
2
3
наверно на этом
if (k == 0 || m == 0 || n == 0)
        cout << 0 << endl;
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
10.07.2015, 19:03 22
Цитата Сообщение от Melvil Посмотреть сообщение
Кто меньше?:
Цитата Сообщение от Melvil Посмотреть сообщение
c = ceil((2 * n) / k);
* * std::cout << c*m;
C++
1
std::cout << ceil((2 * n) / k)*m;
0
58 / 55 / 28
Регистрация: 20.05.2015
Сообщений: 256
10.07.2015, 19:07  [ТС] 23
Цитата Сообщение от ValeryS Посмотреть сообщение
% это остаток от деления, определен для целочисленных
например
3/2 равно 1 и остаток 1
3%2 =1
если числа кратные то остаток 0
4/2=2
4%2=0
Я имел ввиду
Цитата Сообщение от ValeryS Посмотреть сообщение
if ( !n%k )
==
Цитата Сообщение от Melvil Посмотреть сообщение
if (n%k == 0 )
Или нет?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
10.07.2015, 19:13 24
Цитата Сообщение от Melvil Посмотреть сообщение
Или нет?
Да
в Си любое число кроме 0 это ИСИНА 0-ЛОЖЬ
смотрим n%k допустим 3%2=1, 1 это ИСТИНА, !1 это ЛОЖЬ
берем
4%2 =0 ЛОЖЬ, !0 ИСТИНА
теперь
4%2==0 ИСТИНА
т.е
n%k == 0 и !n%k это две записи одного и того же
0
26 / 15 / 17
Регистрация: 09.07.2015
Сообщений: 47
10.07.2015, 19:16 25
Русские не сдаются:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main(){
 
    int capacity, time, raw;
 
    cin >> capacity >> time >> raw;
 
    int counter;
    
    if( raw%capacity == 0 )
        counter = 2*( raw/capacity );
    else if( raw/capacity != 0 && ( raw%capacity )*2 <= capacity )
        counter = 2*( raw/capacity ) + 1;
    else
        counter = 2*( raw/capacity ) + 2;
 
    cout << counter*time << endl;
 
    return 0;
}
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
10.07.2015, 19:18 26
Цитата Сообщение от D_Gon Посмотреть сообщение
time
переименуй
это слово зарезервировано в <time.h>
0
D_Gon
10.07.2015, 19:21
  #27

Не по теме:

да в этой задаче эта переменная лишняя пусть выделяется

0
58 / 55 / 28
Регистрация: 20.05.2015
Сообщений: 256
10.07.2015, 19:43  [ТС] 28
Цитата Сообщение от D_Gon Посмотреть сообщение
Русские не сдаются:
Поздравляю, Accepted
0
D_Gon
10.07.2015, 19:47
  #29

Не по теме:

Теперь можна и поесть.

0
ValeryS
10.07.2015, 19:55
  #30

Не по теме:

Цитата Сообщение от D_Gon Посмотреть сообщение
Теперь можна и поесть.
смотри опять опоздаешь:)
Цитата Сообщение от D_Gon Посмотреть сообщение
похоже я неудачнег ( решил немного перекусить )

0
3 / 3 / 0
Регистрация: 20.11.2019
Сообщений: 18
21.11.2019, 18:36 31
Вот, держите правильное решение задачи. Сайт acmp . ru принял решение на ура, код успешно прошел все тесты.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
    int k, m, n, t;
    scanf("%d %d %d", &k, &m, &n);
    if(n>k){
        t = n*2/k;
        if(n*2%k>0){
            t++;
        }
        t*=m;
    }else{
        t=m*2;
    }
 
    printf("%d", t);
}
1
21.11.2019, 18:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2019, 18:36
Помогаю со студенческими работами здесь

Минимальное время, за которое гости съедят блины
Всем доброго времени суток! N гостей сидят за столом, и перед каждым стоит тарелка с блинами. На...

Определяющую минимальное время, которое необходимо для обработки всех кубиков
Необходимо решить задачу по олимпиаде по информатике и сказали что я буду учавствовать а я угу в...

Определить минимальное количество переправ, которое придется совершить во время похода
№4. Поход Группа школьников решила сходить в поход вдоль реки-Иртыш. У реки-Иртыш существует...

Определить минимальное время, через которое может произойти встреча всех роботов
Задача: Между N пунктами (N&lt;=50) заданы дороги длиной A(i,j), где I,J-номера пунктов. Дороги...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru