Решение на задача 4 от Programming Basics Exam - 21 February 2016 - Problem 04 - Passion Days
Някой може ли да погледне моето решение на задачата не разбирам защо в judge при сработване дава грешка след като с примерите в условието се получава желаният резултат, дори тествах даденото решение и отделните тестове, като и в тези случаи няма разлика в изхода, От няколко часа седя и проверявам и не виждам къде е проблема, ако някой може нека ми посочи?
А това е решението което сглобих!?!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Passion_days
{
class Passion_days
{
static void Main(string[] args)
{
var money = decimal.Parse(Console.ReadLine());
string inputString = Console.ReadLine();
var inputPrice = 0.0m;
var price = 0.0m;
var counter = 0;
var memo = 0.0m;
if (inputString=="mall.Enter")
{
for (int i = 1; i <= 20; i++)
{
inputString = Console.ReadLine();
memo = money;
foreach (char c in inputString)
{
if (c >= 'a' && c <= 'z') inputPrice += ((int)c) * 0.3m;
else if (c >= 'A' && c <= 'Z') inputPrice += ((int)c) * 0.5m;
else if (c == '%') money = money / 2;
else if (c == '*') money = money + 10;
else inputPrice += (int)c;
}
if (inputPrice - money > 0) { inputPrice = 0; money = memo; }
else
{
price += (decimal)inputPrice; inputPrice = 0; counter++;
}
if (inputString == "mall.Exit") break;
}
}
if (counter == 0) Console.WriteLine("No purchases. Money left: {0:f2}lv.", money);
else Console.WriteLine("{0} purchases. Money left: {1:f2} lv.", counter, money - price);
}
}
}
Здравейте, установявам грешка в тази задача след като 3 часа си изтрових душата. След като проверих всеки ред от кода си, judge продължав да дава 90 %. Стигнах до тази тема. Условието гласи: "...when you receive the command “mall.Enter” Lina enters the mall and starts shopping until you receive the command “mall.Exit”.".
Това означава, че преди да излезе mall.Enter, не започва втория цикъл за пазаруването. Това е логиката на изказа според мен. Това, че примерите са с line 2 mall.Enter, не мисля, че е съществено.
Моля за обяснение, дали не се заблуждавам пък аз. Продължавам да ровя по форума, дано пък излезе нещо. Явно логиката ми, че трябва да се чака mall.Enter не е правилна.
Ето го моето 90 % решение: https://pastebin.com/7n8J59NF
Моля някой да ме светне, умишлено съм го раздробил така, много време мина в разплитане за този грешен тест.
Поздрави!