Loading...
niki_dalgia avatar niki_dalgia 5 Точки

Проблем със задачата Лютеница

Не мога да разбера къде греша? Ето условието, при подадените от мен вход и изход ми дава същия резултат като в примера, а в Judge ми изкарва 0 от 100 точки. Ето линк към задачата - https://judge.softuni.bg/Contests/Practice/Index/828#1

Интересува ме къде е мойта грешка в МОЕТО решение, не ме интересуват други решения!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _2.moe
{
    class Program
    {
        static void Main(string[] args)
        {
            double KolDom = double.Parse(Console.ReadLine());
            int KolKaset = int.Parse(Console.ReadLine());
            int KolBur = int.Parse(Console.ReadLine());

            var ObshLiut = KolDom / 5;
            var Burkani = ObshLiut / 0.535;
            var Kasetki = Burkani / 20;
           
            if (Kasetki > 400)
            {
                var OstKaset = Kasetki - 400;
                var BurkOsavat = Math.Floor(Burkani - (400 * KolBur));
                Console.WriteLine($"Total lutenica: {ObshLiut:f0} kilograms.");
                Console.WriteLine($"{Math.Floor(OstKaset):f0} boxes left.");
                Console.WriteLine($"{BurkOsavat:f0} jars left.");
            }
            else if (Kasetki<520)
            {
                var KasetiNest = Burkani / 36;
                var KasNedost = Math.Floor(520 - KasetiNest);
                var OstKaset = Math.Floor(Kasetki - 400);
                var BurkNedost = Math.Floor((520 * KolBur) - Burkani);
                Console.WriteLine($"Total lutenica: {ObshLiut:f0} kilograms.");
                Console.WriteLine($"{KasNedost:f0} more boxes needed.");
                Console.WriteLine(($"{Math.Floor(BurkNedost):f0} more jars needed."));

            }
        }
    }
}
 

Тагове:
-2
Programming Basics
inkarnasion avatar inkarnasion 278 Точки
Best Answer

Да кажа и аз....Както колегите ти казаха, чети си условието, това че лектора е казал че втора задача се решава по него не означава да го препишеш буквално а да прочетеш внимателно и да видиш решението защото така както си го направил ще ти работи само по примерите, но в Джъдж не са само тия два примера а има още 8..... Знаеш ли че е по трудно да намериш грешката в чуждо решение отколкото да напишеш ново работещо такова.И понеже искаш да видиш ГРЕШКИТЕ в ТВОЕТО решение ( Всички уравнения ти бяха грешни), ето заповядай, оправих ти го, като грешките ти съм ги закоментирал, а отдолу с твоите променливи съм написал правилните уравнения........

 

 

https://pastebin.com/6PJV1wP5

 

 

Дава 100/100 в Джъдж.

3
02/12/2017 18:20:54
niki_dalgia avatar niki_dalgia 5 Точки

Благодаря! 

И съжалявам, че ти създадох такъв голям проблем, да оправиш МОЕТО решение, но това е начина, по който аз мога да реша задачата и съответно да я сбъркам на 100 места, ако просто гледам някое друго решение, аз ще го разбера, но какво от това, като никога няма да ми дойде на ум да го направя по дадения пример, заради това исках да видя решение по моя пример! :)

1
inkarnasion avatar inkarnasion 278 Точки

Ами решението е да четеш внимателно условието. Първо вместо да сложиш променливите по условие то, ти слагаш тези от примерите.След това не си го дочел до край, там са написали че трябва решенията да се закръглят до по малкото число, което означава всички, а ти беше сложил Math.Floor само на две от решенията а първото го беше пропуснал. Освен това във второто условие беше сложил променлива от първото. Така че като събереш всичките грешки и се получава наистина лютеница :) 

0
dvdty avatar dvdty 497 Точки
var Kasetki = Burkani / 20;

Това 20 малко hardcode-нато ми изглежда.

Едит: като не искаш решенията на други хора си прочети условиято, не се опитвай да решиш задачата според примера. Половината работи са hardcode, не само това 20.

1
02/12/2017 17:34:07
svetoslav_0 avatar svetoslav_0 1009 Точки

Съдейки по това колко константи виждам, ми се струва, че не са използване достатъчно променливи, а половината неща са hardcore-нати. 

2
ItsoDimitrov avatar ItsoDimitrov 28 Точки

Здравей ! Дава ти 0т., тъй като нулевите тестове, които са в примера на задачите не дават никакви точки . Написах решението на задачата набързо - https://pastebin.com/LaeujLxE . Погледни го, ако желаеш . Има коментари, с които да си помогнеш, ако не ми разбраш нещо   :  )

1
inkarnasion avatar inkarnasion 278 Точки

ItsoDimitrov Той си иска да му се каже къде са грешките в НЕГОВОТО решение.laughlaughlaugh

1
ItsoDimitrov avatar ItsoDimitrov 28 Точки

Ау, извинявам се . Решавах я за нищо тогава , хах . Сега видях, че си му отговорил по неговия код, да . yes

1
02/12/2017 18:22:12
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.