Loading...
galin_kostadinov avatar galin_kostadinov 166 Точки

07. The Noise and the Signal

Привет!

В следната задача според мен има някакъв проблем с тест 3.

В условието е казано следното:

"All symbols in the input will be either letters, digits, punctuation, or signs from of the standard ASCII table (no control symbols like newlines or tabs, delete, etc.)"

https://judge.softuni.bg/Contests/Compete/Index/1379#6

При следнея вход:

1.][.3 5-aA3:)5 2asd=@14

Системата очаква - "–aA:)" , а не "-aA3:)"

Тези тиренца на пръв поглед изглеждат еднакви, но не са. Очакваното тире не е същият символ, каквто е в ASCII table.

Поздрави!

Тагове:
1
C++ Fundamentals
j.petrov_90 avatar j.petrov_90 373 Точки

Привет, колега,

Прав си! Коментарът ти е уместен.
Теста е поправен в Judge.
Позволих си да rerun-на submission-а ти е дадения тест мина без пробем.

П.С. Браво, че си изрешил задачите.
Продължавай в същия дух!

1
galin_kostadinov avatar galin_kostadinov 166 Точки

Благодаря!

В момента това тире пак не е ASCII тирето. Иначе вече и при входа не е тирето от ASCII Table.

"1.][.3 5–aA3:)5 2asd=@14"

Като резултат обаче, вече това "–"  ми го дадава лексикографски по назад и резултата вече е друг ".][.", а не "–aA:)".

Като цяло това "–" ми го дада с дължина 3. Има и някакъв странен ефект при принтирането му в Debug режим се принтира като "–", а в Run ми го принира като " ".  Може би е насройка на конозолата, но в крайна сметки и в Judge не дава желания резултат.

Поздрави!

1
j.petrov_90 avatar j.petrov_90 373 Точки

Гръм и мълнии! :D

Прав си отново. Не съобразих, че промяната на символа ще промени лексикографската наредба на стринга.
Подмених символа с нормалвото ASCII тире - вече трябва да е ОК.

Съжалявам за пречиненото неудобство.

0
l000p avatar l000p 13 Точки

Колега ще използвам темата ти, за да не отварям нова.

На същата задача получавам incorrect answer на тест 3 при следното решение : https://pastebin.com/BCsj4aGL

 

0
AlexanderHr avatar AlexanderHr 18 Точки
if(maxSig<=scheck)
{
  maxSig=noise.length();
  if(longest>noise || longest.empty()){
    longest=noise;
  }
}

Ако longest = "aaa", a noise = "bbbbb", то longest ще си остане същото, въпреки че noise e по-дълго, защото aaa<bbbbb. Заради това ти гърми тест 3 най-вероятно.

0
l000p avatar l000p 13 Точки

Благодаря колега, поправих пропуска :) !

0
kolioi avatar kolioi 641 Точки

Едно простичко решение, в което обаче се използват някои неща, които май не сте учили все още :)

#include <iostream>
#include <vector>
#include <sstream>
#include <algorithm>
#include <cctype>

using namespace std;

bool cmp(string a, string b)
{
	if (a.length() == b.length())
		return a < b;
	return a.length() > b.length();
}

int main()
{
	string text;
	getline(cin, text);
	text.erase(remove_if(text.begin(), text.end(), [](char ch) { return isdigit(ch); }),text.end());
	istringstream iss(text);
	vector<string> words;
	string word;
	while (getline(iss, word, ' '))
		if(word.length())
			words.push_back(word);

	sort(words.begin(), words.end(), cmp);

	if (words.size())
		cout << words.front() << endl;
	else
		cout << "no noise\n";
}

 

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