Loading...
StoykoMandzhukov avatar StoykoMandzhukov 11 Точки

Задача A miner stack

Здравейте,

какъв е проблема в решението ми? Ето и условието: 

You are given a sequence of strings, each on a new line. Every odd line on the console is representing a resource (e.g. Gold, Silver, Copper, and so on) , and every even – quantity. Your task is to collect the resources and print them each on a new line, unitll you receive “stop” command.

Print the resources and their quantities in format:

{resource} –> {quantity}

The quantities inputs will be in the range [1 … 2 000 000 000]

 

ето и решението:

http://pastebin.com/1kQd4YcC

Тагове:
0
C# Advanced
kaloyannikov avatar kaloyannikov 531 Точки

пробвай с long , 2 000 000 000 + повече от 147 000 000 ще мине int границата.

0
StoykoMandzhukov avatar StoykoMandzhukov 11 Точки

Пропуснах да отбележа, че дава грешка при компилацията, а не в джъджа. И с long пак е - "index zero based must be greater than or equal to zero and less than the size"

0
Filkolev avatar Filkolev 4482 Точки

System.Console.WriteLine("{0} -> {1}", kvp.Value.Sum());

Съобщението за грешка доста помага - ти подаваш масив от параметри за плейсхолдърите; имаш два плейсхолдъра, но само един елемент след това. Пропуснал си ключа.

0
StoykoMandzhukov avatar StoykoMandzhukov 11 Точки

Леле, много шум за нищо. Sorry! :)

0
Filkolev avatar Filkolev 4482 Точки

Тъпото е, че и без long ще мине. Проблемът е друг. Никъде не е казано колко команди ще се подадат, т.е още първата може да е "stop", при което възниква грешка. По-чисто е ако след взимането на първия ред директно влезеш в while цикъл.

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

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