Loading...
mihayloff14 avatar mihayloff14 824 Точки

[Judge] C# Basics - Проблем при решаване на задача от изпит

Здравейте,
В момента решавам тази задача. Проблемът е, че не приема кода ми, който изглежда, че е валиден. При използване на този код в judge системата получавам 0/100 точки, което е доста странно. Според детайлите, моят Output изглежда като че ли е без празни пространства и съответно, очилата не излизат коректно.

Възможно ли е да има грешка в задачата, или аз бъркам някъде?

Благодаря предварително.

EDIT: Осъзнах къде ми е грешката. Проблемът беше, че в празните елементи от array-a не въвеждам стойност (празно поле), а го оставям по default (което очевидно не е empty space). Благодаря за помощта! 

Тагове:
1
Programming Basics
ttitto avatar ttitto 1153 Точки

За да проверя системата пуснах авторското решение и то сработи за 100/100 т. Вероятно пропускаш нещо в твоя код. Твърде вероятно е да ти помогнем, ако покажеш кода.

0
tsonchev avatar tsonchev 38 Точки

Аз реших задачата и не ми даде грешка. Даде ми 100/100 от първият път.  

Дай си кода да го видиме да не би да се чупи някъде.

ЕДИТ: Сега видях че си дал код, ще го разгледам.

0
DNNdrago avatar DNNdrago 145 Точки

Когато си събмитнеш решението имаш възможност да видиш кои тестове ти гърмят, както и как минават нулевите (където виждаш изхода, който се очаква и твоят), цъкайки на детайли. Та още там се вижда, че този код не изкарва желания изход. Не съм разглеждал кода, но това което виждам от тестовете е че не извеждаш разстоянието между "стъклата". 

1
milkokochev avatar milkokochev 10 Точки

Аз също имам проблем. Пускам в Judge, но не ми го признава, а като пробвам работи нормално. Ако можете да споделите къде може да имам пропуск.

Кода е този --> click

Задачата е Joro, the Football Player

Благодаря предварително.

0
milkokochev avatar milkokochev 10 Точки

Т.е.  Judje системата ги према за грешка?

0
boyanov avatar boyanov 65 Точки

Дебъгни си кода и го сравни внимателно с изисканията от условието. Има доста малки грешки които може да си допуснал. Също можеш да си изтеглиш варианта и в него има тестовете които вкарва Judge и отговорите които очаква.

0
KaloyanB avatar KaloyanB 9 Точки

Здравейте,

И аз днес се сблъсках със същия пробле.Ето код:

http://pastebin.com/rj5UjssV

Нулевите тестове тръгват успешно, но продължава да ми дава 0 точки..

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Програмата ти работи грешно. Ето я коригирана:

Student Cables

Този цикъл накрая е напълно излишен. Просто се принтира така:

Console.WriteLine(result / 504);
Console.WriteLine(result % 504);
1
KaloyanB avatar KaloyanB 9 Точки

Хаха...!Много съм зле като забия...

Благодаря!Естествено ,че е нещо малко.Починах си няколко часа и после веднага разбрах къде ми е грешката...

 

0
quickben avatar quickben 966 Точки

е от теб не съм очаквал тема за задача №3 :)

За да не спамя излишно форума бих те помолил да предложиш някакво решение на следния проблем.

Poker Straight от последния изпит(поправката) ми дава лимит време, иначе дава верни отговори. Пробвах доста варианти (вече ме боли доста главата да пускам всеки вариант в GitHub или Pastebin) и никой не заработи. Опитах се да изведа този цикъл най-отгоре или най-отдолу ( for (int firstCardSuit = 0; firstCardSuit < suitsValues.Length; firstCardSuit++)) Пробвах и с метод да изчислявам стойностите пак нестава. Проблема не е в това че изчислявам всяка стойност след съответния цикъл сиреч и да изнеса всички калкулации на стойностите най-отдолу след като проверя дали стойностите са последователни пак ми гърми лимита от време. Ето го кода - ЦЪК . Най-лошото е, че само по този начин мога да решавам този тип задачи и другите съм ги решил(без една нея утре ще я метна), но тази цял ден пробвах всякакви "чалъми" и не става. Отделно гледам, че малко хора са я решили в judge-a(

Мерси предварително.

1
mihayloff14 avatar mihayloff14 824 Точки

Ами едно време бях млад и зелен laughing

Конкретно по задачата. Общо взето, четвърта задача в повечето случаи изисква намирането на някакви комбинации и тя единствено крие опасност от timeout. За да се справиш с този проблем вместо да изчисляваш всички възможни комбинации, да намериш някаква логика в условието на задачата, което да ти улесни задачата.

Ето някои hint-ове за тази задача:

Suit-овете на картите може да се изчисляват отделно от стойностите на самите карти, защото забележи че:

(10 * num1 + numSuit1) + (20 * num2 + numSuit2) е същото като (10 * num1) + (20 * num2) + (numSuit1 + numSuit2)

 

Освен това, изисква се да се намери стойността на тези карти, които са поредни. Тоест вместо да правиш 5 вложени цикъла за всяка възможна комбинация от карти, може да направиш 1 цикъл от 0 до 10 (променлива num да речем), който да изчислява стойност:

10 * num + 20 * (num + 1) + 30 * (num + 2) + 40 * (num + 3) + 50 * (num + 4)

 

Последния hint, е че не е задължително всеки път да проверяваш стойността на suit-овете на картите, защото ако изчислиш weight-а на cardFace-овете, след това може да провериш дали е възможно да се намери стойноста, която да отговаря на подадената от конзолата. Това е така, защото минималната и максималната стойност на 5 suit-ове е съответно 5 и 20.
Следователно, може да изпълняваш операцията с 5 вложени цикли, която да проверява всяка възможна комбинация от face и suit, ако (inputWeight - cardFaceResult (операцията отгоре) >= 5 || inputWeight - cardFaceResult <= 20).

Надявам се да съм обяснил достатъчно добре, да си разбрал това което имам предвид и естествено да съм помогнал. wink

Ето source code с гореспоменатите операции: ЛИНК

1
quickben avatar quickben 966 Точки

Мерсни много брат, вече съм на 5 бири и направо погледнах кода и разбрах това което си казал все пак кода говори повече от хиляда думи :) Утре ще размишлявам върху това което си написал, но важното е че ти схванах идеята след като видях кода.

Мерси много.

edit: 100/100 МАШАЛА ТУДЖАР :)

edit2: разбрал разбрал както казват сърбите курец съм разбрал утре ще се мъча :)

-1
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Ето и от мен hint за решаване на задачите от предния изпит Hayvan Numbers и Nine Digit Magic Numbers. Интересното е използването на Regex.IsMatch за проверка дали цифрите са между 5-9 примерно. 

HayvanNumbers

NineDigitMagicNumbers

3
a_banderov avatar a_banderov 19 Точки

Каква според вас е грешката в този код  --> http://pastebin.com/hNYi4XP7 ?

Judge постоянно ми хвърля 30/100, а всички решения са ми верни. Плюс това по същия начин съм решил Жоро футболиста, където ми дава 100/100!!!!

0
Filkolev avatar Filkolev 4482 Точки

Ето кодът ти преработен: Pastebin.

Грешката ти е, че ползваш 0.66 вместо 2/3, защото не е едно и също. 2/3 = 0.(6), т.е. губиш точност.

Махнах и някои ненужни неща. Например, като изписваш реално число като 0.75, няма нужда да му казваш изрично, че е тип double, то по подразбиране е такова. Налага се да сложиш f ако искаш да е float.

Ето този ред: double totalPlays = nomalWeekEndsPlay + playingHolidays + h;

Имаш го и в двете условни конструкции, т.е. логично е да го изкараш извън тях. Реално той не зависи от вида на годината.

Още, излишно е да да слагаш два if-a, понеже в единия нищо не се случва. Проверката трябва да е само дали годината е високосна. Махнах и допълнителната променлива sum, просто много стават; смятай си нещата в totalPlays.

Накрая, изходът е извън условната конструкция. 

Повечето промени са козметични (на изпит се бориш за точки, не за красота на кода). Грешката както казах е където смяташ с 0.66, слагаш там 2/3 и се оправя.

Edit: И още една козметична промяна, която не направих, сметката в условната конструкция може да се опрости така: totalPlays *= 1.15.

Когато задаваш въпрос - казвай коя е задачата, от кое домашно и кой изпит, давай по възможност лнкове към условието и Judge. Иначе караш хората, които искат да ти помогнат, да търсят. Аз по случайност уцелих, че става дума за задача от 3-то домашно, но ако не бях успял, можеше и да се откажа да търся.

1
a_banderov avatar a_banderov 19 Точки

Мдааа. При Жоро футболиста смятах с 0.5 например, но там си бяха точни числата.

Оправих double playingHolidays = p * 2 / 3.0; редът и всичко е ок. Мерси за отделеното време!

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