Loading...
Darinna avatar Darinna 2 Точки

Грешка в Judge

Здравейте,
моля някой да ми обясни, каква е разликата м/у "грешка при изпълнение" и "грешен отговор" в Judge.
В IDE всичко е О.К., но в Judge, вместо червени хиксчета "х" (грешен отговор), ми излизат червени снежинки (грешка при изпълнение).
Какво да правя сега?


 

Тагове:
0
Programming Basics with Java
Bebrevski avatar Bebrevski 17 Точки

Грешка при изпълнение означава, че кода не се е компилирал в джъдж. Ако, както казваш при теб е добре, а при събмит гърми, е възможно да не си копирала целия код. В такъв случай ти дава червена звездичка "*".Прибвай с Ctrl+A, Ctrl+C.

Грешен отговор е когато програмата се е компилирала в джъдж, но резултата, който очаква се различава с твоя. Примерно джъдж чака "Pesho", а програмата ти изкарва "Gosho". Тогава ти излиза червен "X".

Дай си кода тука и може да видим какъв е проблема

0
24/10/2018 08:16:46
The_assassin avatar The_assassin 158 Точки

Натискате бутона „Details“ (от дясно на резултата). Това ще отвори нов раздел в браузъра, където са описани всички тестове. Грешните тестове са с червено заглавие, под което е описана и самата грешка. Допълнително има и бутон „Show input“, който показва какви входни данни са подадени за конкретния тест.
Надявам се да съм бил полезен, успех!

0
24/10/2018 08:17:14
Darinna avatar Darinna 2 Точки
import java.util.Scanner;

public class DanceHall {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int L = Integer.parseInt(scanner.nextLine());
        int W = Integer.parseInt(scanner.nextLine());
        int A = Integer.parseInt(scanner.nextLine());

        int hall = ( L * 100 ) * ( W * 100);
        int wardrobe = ( A * 100 ) * ( A * 100);
        int bench = hall / 10;
        int freeSpaceHall = hall - ( wardrobe + bench );

        int dancers = Math.round (freeSpaceHall / ( 40 + 7000 ));

        System.out.println(dancers);

    }
}

От задачата: Dance Hall. Опитах да заместя int с double, тогава judge гърми. Опитах да заместя умножаването по 100 с Math.pow(X,2), пак не става. 
0
The_assassin avatar The_assassin 158 Точки

Намерих задачата. Тя е „изпитна“, така че няма как да ти покаже какви са ти грешките, за това, аз ще ти предложа някои корекции. Всъщност, според условието, входните данни трябва да са DOUBLE:

diff --git a/DanceHall.java.old b/DanceHall.java
index b054040..62643ca 100644
--- a/DanceHall.java.old
+++ b/DanceHall.java
@@ -4,18 +4,18 @@ public class DanceHall {
     public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
 
-        int L = Integer.parseInt(scanner.nextLine());
-        int W = Integer.parseInt(scanner.nextLine());
-        int A = Integer.parseInt(scanner.nextLine());
+        double L = Double.parseDouble(scanner.nextLine());
+        double W = Double.parseDouble(scanner.nextLine());
+        double A = Double.parseDouble(scanner.nextLine());
 
-        int hall = ( L * 100 ) * ( W * 100);
-        int wardrobe = ( A * 100 ) * ( A * 100);
-        int bench = hall / 10;
-        int freeSpaceHall = hall - ( wardrobe + bench );
+        double hall = (L * 100) * (W * 100);
+        double wardrobe = (A * 100) * (A * 100);
+        double bench = hall / 10;
+        double freeSpaceHall = hall - (wardrobe + bench);
 
-        int dancers = Math.round (freeSpaceHall / ( 40 + 7000 ));
+        double dancers = freeSpaceHall / (40 + 7000);
 
-        System.out.println(dancers);
+        System.out.printf("%.0f", Math.floor(dancers));
 
     }
 }

 

0
Darinna avatar Darinna 2 Точки

Благодаря много! Ще се поупражнявам с Math и с double :)

 

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