Новинарски форум

Изпращане на домашни

Изпращане на домашни

от Anton Dimitrov -
Number of replies: 29
Малко пояснения как сме замислили да се изпращат домашните:

Като има задача за домашно ще гледаме да я има и в Spoj0 (http://milo0.no-ip.org/spoj0/index.pl)

Там може да си пробвате дали ви работи решението. Ако там получите OK, значи работи. Можете тогава да я пратите в Moodle, за да я проверим и да ви дадем нужните точки. Не се гледат изпратени решение в Spoj0, той е само за проверка. Гледат се тези в Moodle.

Моля тези, които са пратили като решения на първа задача submission IDs да пратят наново сорс кодовете си вместо тези IDs. Ако нямате сорс кодовете ще видим какво ще измислим. Занапред ще се приемат само сорс кодове решаващи дадена задача за домашно!

Тони
In reply to Anton Dimitrov

Re: Изпращане на домашни

от Николай Станоев -
Здравей, искам да попитам нещо. Още на практикума днес написахме задачите и Христо ни написа точки върху тях в един негов файл, защото видя че вървят. Сега трябва ли да ги пиша наново и да ги пращам или няма смисъл ?
In reply to Николай Станоев

Re: Изпращане на домашни

от Anton Dimitrov -
Здрасти,

Няма нужда. Първия път е изключение явно, всеки преподаващ е измислил някакъв начин да оцени хората. От следващия път нататък вече се гледа какво е пратено в Мудъл, а Spoj0 се ползва само, за да си пращате решенията и да проверявате дали работят.

Тази 3-та задача от днес я има качена сега в Мудъл за тези, които искат да я пратят за 10 точки. Качил съм и една задача от следващия път, по темата за прости сортирания. Нея можете също да пращате, като за нея през тази седмица ще получите 20 точки. Като мине следващото занятие вече ще я оценяваме на 10 точки и ще има още една седмица за изпращането и.

Тони
In reply to Anton Dimitrov

Re: Изпращане на домашни

от Тодор Цонков -
Имам въпрос относно задача 3 :
Относно частта от условието : " На първия ред са зададени броят редове във входа"    , на примерния тест имаме 4 за начало на входния файл, но имаме 8 реда. Да не би да става въпрос за брой тестове, а не брой редове ?
In reply to Тодор Цонков

Re: Изпращане на домашни

от Anton Dimitrov -
Ами, да - броя тестове, моя грешка. :)
In reply to Anton Dimitrov

Re: Изпращане на домашни

от Кирил Калчев -
Вземете го оправете и на Мило на системата в условията. Поне подредете условията като хората.
In reply to Кирил Калчев

Re: Изпращане на домашни

от Anton Dimitrov -
Още сутринта го оправих в Spoj0, ако за тази система говориш. Като си сваля PDF-a от системата си пише вече, че е брой тестове сега.

Ако говориш за първите задачи (седмица 1), ще ги оправя и в spoj0 довечера...

За втория ти мил коментар: Какво точно имаш предвид под подредете условията като хората?

Тони
In reply to Кирил Калчев

Re: Изпращане на домашни

от Орлин Тенчев -
А вие вземете да четете къде какво пише. 100% си кликнал без нищо да прочетеш и после се сърдиш на нас без изобщо да признаваш, че си прибързал.
Прави по-конструктивни коментари, за да извличате всички някаква реална полза от тях
In reply to Anton Dimitrov

Re: Изпращане на домашни

от Тодор Цонков -
Искам да допълня за малка неточност в тестовете. След принтването на числата от всеки ред трябва да се добавя интервал ( след последното ), в противен слу4ай се получава "Presentation error". Става въпрос за задача ssort :)
In reply to Тодор Цонков

Re: Изпращане на домашни

от Anton Dimitrov -
Дам, мерси за забележката. Мислех, че spoj0 игнорира разни такива разлики. Оправих тестовете и пуснах rejudge. Дано за тези първите 2 задачи да се изчистят такива неприятни неточности и да няма занапред.
In reply to Anton Dimitrov

Re: Изпращане на домашни

от Христо Димитров -
Рязане на тръби. Може ли да погледнете защо не мога да кача файл. Бях commit-нал нещо, но Anton Zhelyazkov откри грешка в кода, която коригирах и искам да кача коригирания файл, но за съжаеюление е невъзможно. Заданието уж е активно....
In reply to Христо Димитров

Re: Изпращане на домашни

от Anton Dimitrov -
Това май е свойство на Мудъл, като ти отговорят веднъж и после не можеш да пращаш пак. Чудя се дали може да се настрои да не е така, ама не съм видял.

Може да пробваш сега, защото пипнах една настройка, дано помогне.

Ако не - може да пратиш на Антон Желязков по мейл новото си решение, той ще го провери.

Между другото новата задача за тръбите я има вече в сподж0.
In reply to Anton Dimitrov

Re: Изпращане на домашни

от Константин Йовков -
Може ли някой от преподавателите да гарантира, че тестовете в spoj0 са верни (за PipesProblem), т.е. няма да се получат неприятни ситуации като преди, които да наложат rejudge ?
In reply to Константин Йовков

Re: Изпращане на домашни

от Тодор Цонков -
Аз не съм преподавател, но мога да гарантирам, че тестовете минават, защото моето решение мина, а не е свръхоптимизирано и задачата е ОК. Надявам се, че не е незаконно да подсказвам, но се опитай да намериш решение със сложност по-малка от линейна или си огледай твоето, ако е с такава сложност.
In reply to Константин Йовков

Re: Изпращане на домашни

от Ангел Владов -
Може ли някой на който му е минало успешно с ok решението за PipesProblem да го пусне наново в spoj0 просто да се види дали минава сега. Струва ми се че кодът ми е правилен, но продължавам да получавам wa. А и така като гледам последният ok е от 12 часа.
In reply to Ангел Владов

Re: Изпращане на домашни

от Тодор Цонков -
Здравей, пуснах си задачата и ми мина, така че тестовете са ОК. Btw, искам да се извиня, че започнах тая тенденция да се съмнявам във верността на тестовете и съответно да спамя, принципно е много лесно да се допускат грешки, но като цяло това не е доста вероятно.
In reply to Тодор Цонков

Re: Изпращане на домашни

от Anton Dimitrov -
Честно да ти кажа до момента имаш право да се съмняваш май :)

Нещо прекалено много проблеми има напоследък с тея задачи, ще вземем мерки занапред да се ловят тези грешки предварително, че става супер досадно за всички...
In reply to Anton Dimitrov

Относно голямото сортиране

от Николай Станоев -

Имам въпрос относно задачата за голямото сортиране. Написах я и я тествах с мой си тестове и смятам че е ОК. Пуснах теста който е даден в moodle и я чаках към 20 минути , нищо не изкара но не беше зациклила. След това разбрах че самото четене от файл изисква прекалено много време защото ми стана любопитно колко са числата във файла и след това видях. Затова въпроса ми е следният как в java ще се прочетат повече от 200 000 000 числа за толкова малко време и ще се обработят ? Вторият въпрос е как ще се определя дали програмата писана от нас е правилна само на този тест или ще се генерират по малки файлове като ограничението за N ще е малко число ил само върху този файл?

 

 

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

In reply to Николай Станоев

Re: Относно голямото сортиране

от Мария Николова -
heh stanoev don't worry chislata sa samo 50 000 000... nablyudeniqta nad rabotata na moqta programa pokazvat che vyv vhodniq fail sa chislata ot 0 do 50 000 000 v narastvasht red... nie trqbva da gi sortirame naobratno :) otnosno vremeto... ako e na c failyt se prochita za 16 sekundi, ako e na java - za 2 min i 30 sek... :) (vij snimkata) makar che tova nadali shte pomogne da vyvrvi po-malko ot chas...
Attachment mamka.png
In reply to Мария Николова

Re: Относно голямото сортиране

от Трайчо Иванов -
За четене с java e по-бързо ако се ползва BufferedReader. Аз лично използвам метода му read:

Четене на файл и добавяне на числата в масив:

StringBuilder sb = new StringBuilder();
while ((c = reader.read()) != -1)
        {

            if (c != 32)
            {
                sb.append((char)c);
            }
            else
            {
                memory[counter] = Integer.parseInt(sb.toString());
                counter++ ;
                sb.setLength(0);
            }
In reply to Николай Станоев

Re: Относно голямото сортиране

от Орлин Тенчев -

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

Програмата я тествам и с друг голям файл, но ви изпратих този, понеже този е нареден и може да се компресира до 5MB. Общо взето разглеждам и сорса, понеже не искам да ми затриете файловете по харда или да зацикли програмата и да ми запълни свободното място по харда :)

За числото N - избирам го такова, че временните файлове да са най-много 20-30. Не се очаква програмата да работи с 200MB файл и N=1.

In reply to Орлин Тенчев

Re: Относно голямото сортиране

от Тодор Цонков -

Izvinqwam se za latinicata, oba4e w momenta nqmam kirilica na PC-to.

Predpolagam, 4e sym typ, oba4e taq zada4a na Pe6o Hakera mi se struwa, 4e e hamiltonov cikyl, koeto bi trqbwalo da dawa time limit pri podhodq6ti testowe. Izvinqwam se za spama, ako ne sym praw.

In reply to Орлин Тенчев

Оценкки от задачите

от Николай Станоев -
Здравейте, мина доста време от началото на семестъра и искам да попитам какво става с задачите който сме пращали досега. Минаха 8 седмици вече и ако на всяко домашно  което в spoj0 ми дава ОК имам по 20 точки би трябвало да имам вече 160 , което значи че трябва да съм изкарал нужния брой точки за 6-ца по практикума. Може ли да ми кажете колко точки имам до момента и да се знае дали условието за 6 е същото или се е променило в течение на времето. Това предполагам не важи само за мене а и за всички останали който са записали практикума.

    Благодаря предварително!!!
In reply to Николай Станоев

Re: Оценкки от задачите

от Anton Dimitrov -
Ще трябва да обсъдим това нещо и да видим. Ако си пращал 8-те домашни в срок за 20 точки и са работили в сподж би трябвало да събереш 160 точки. А критериите са същите като обявените в началото.

Сега не мога да ти гарантирам че имаш 160 обаче, трябва да се проверят.
In reply to Anton Dimitrov

homework week 10

от Десислава Христова -
Здравейте,
може ли да проверите дали тестовете на flowers са ок, понеже пуснах програма, която само чете входа в spoj0 и ми даде tl1, а съм спазила начина на четене от условието.

#include <stdio.h>

using namespace std;

const int MAXN = 107;
int price[MAXN][MAXN];
int sol[MAXN][MAXN];
int floCnt, vaseCnt;
int main()
{
    scanf("%d%d", &floCnt, &vaseCnt);
    while (!(floCnt == 0 && vaseCnt == 0))
    {
          for (int i = 1; i <= floCnt; i++)
          {
              for (int j = 1; j <= vaseCnt; j++)
              {
                  scanf("%d", &(price[i][j]));
              }
          }
          //solve();
          scanf("%d%d", &floCnt, &vaseCnt);
    }
    return 0;
}
ето този код ми даде tl1, подозирам липсата на двете нули накрая :)
In reply to Десислава Христова

Re: homework week 10

от Anton Dimitrov -
Двете нули ги нямаше наистина, сега ги има. ;)
In reply to Anton Dimitrov

Re: homework week 10

от Тодор Топалов -
Та като сме тръгнали да му търсим кусури на това домашно, желая да изразя своето възмущение, че решение, което напълно съответства на условието, дава wa, а именно:
В условието никъде не е записано, че ако съществуват две подредби с една и съща естетическа стойност, трябва непременно да отпечатаме тази, която поставя цветето в най-лявата възможна ваза. Така де, щом не го пише, значи можем да си принтнем кой да е път...нали? Или пък просто да го пишеше в условието... :)
In reply to Тодор Топалов

Re: Gasoline

от Валери Михайлов -
Преди да кача решението на gasoline в moodle, даваше ok в spoj. Сега дава re. Тестовете да не са сменяни?
In reply to Валери Михайлов

Re: Gasoline

от Йордан Зайков -
Последно файловете за gasoline са пипани на 25-и март, когато са и поставени. Ти си пратил решението си на 27-ми март. Не мисля, че проблемът е в тестовете.
Склонен съм да подозирам, че е в кода ти. Не съм го гледал хич подробно и не мога да бъда сигурен в нищо, но това, което видях е: правиш нещо false, викаш DFS, правиш нещото true. На мен това ми прилича на brute force. Входният файл е 3MB (винаги е бил толкова :) ) и наистина не мисля, че това някога е минавало.

Exception in thread "main" java.lang.StackOverflowError
        at program.dfs(program.java:85)
        at program.dfs(program.java:85)
        at program.dfs(program.java:85)
        ...
        ...
        (1024 такива реда)