[Logo] Mendo Judge Discussion Board - Forums
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
milking cows  XML
Forum Index » Други задачи
Author Message
bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline



Ми паѓа на 7миот тест пример.. Преголем е за да најдам грешка..
Ми вади точно на колку време максимално не се работело на крава, а ми вади грешка на колку време максимално се работело на крава.
Како да го решам?
obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

Дали си сигурен дека кодот за наоѓање максимално време кога не се работело со ниедна крава ти е точен? Ај разгледај го уште еднаш и размисли ги граничните случаеви.

Разгледај го убаво и редот 42 и размисли што ќе се случи во последната итерација.

Во ред 37 можеш да ставиш едно else, ќе заштедиш процесорско време. Во оваа задача тоа е минимално, ама ако продолжиш да се натпреваруваш ќе се најдеш во ситуација таква некоја ситница во циклус кој се повторува 50 милиони пати да те чини цела задача. Мене тоа ми се случи на TopCoder, и тоа за „ситница“ која е толку бледо документирана што и самите организатори не беа свесни за проблемот.
bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline

За неработењето на крава ми е 100% точен бидејќи работи на сортирана низа и ако најде некоја крава да завршува пред најкасно завршената да заврши не брои.

Џабе, ставив и ограничување во 42риот ред.. && i+1<n и пак не работи. + тоа нема веза бидејќи и да стави стејт=1 на крај пак ќе заврши циклусот


Here are the respective outputs:
----- our output ---------
912_184
---- your output ---------
378_184
--------------------------


This message was edited 2 times. Last update was at 02/06/2011 00:25:40

bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline

Ја решив задачата така што ставив да се израмнуват. пример:
3
100 200
101 198
150 250

да го направи прво

100 200
101 200
150 250

за да неморам да памтам најголеми променливи.

еве како го средив:


Благодарам Оби за помошта!

This message was edited 1 time. Last update was at 01/06/2011 22:44:28

obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

bedzo wrote:За неработењето на крава ми е 100% точен бидејќи работи на сортирана низа и ако најде некоја крава да завршува пред најкасно завршената да заврши не брои.

Џабе, ставив и ограничување во 42риот ред.. && i+1<n и пак не работи. + тоа нема веза бидејќи и да стави стејт=1 на крај пак ќе заврши циклусот

Here are the respective outputs:
----- our output ---------
912_184
---- your output ---------
378_184
--------------------------


Ај пробај си го стариот код на примерот што сам си го даде:
3
100 200
101 198
150 250

Уште си уверен дека за неработењето на крава кодот ти е точен?


+ тоа нема веза бидејќи и да стави стејт=1 на крај пак ќе заврши циклусот


Е веќе тука немаш врска. Знаеш што е segmentation fault? Знаеш дека може а не мора да излезе? Зошто да си играш со оган за џабе?
bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline

Во претходниот код не ми работеше тоа дури после увидов на грешката. А во новиот код работи перфектно бидејќи ако завршува пред предходната го ставам завршетокот исти како на претходната.

А segmentation fault точно незнам што е, ама ми има излегувано некогаш.

This message was edited 1 time. Last update was at 02/06/2011 14:28:46

obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

bedzo wrote:Во претходниот код не ми работеше тоа дури после увидов на грешката. А во новиот код работи перфектно бидејќи ако завршува пред предходната го ставам завршетокот исти како на претходната.

А segmentation fault точно незнам што е, ама ми има излегувано некогаш.


http://tinyurl.com/76qq3u

Wikipedia wrote:
Common causes

A few causes of a segmentation fault can be summarized as follows:
a buffer overflow.
using uninitialized pointers.
dereferencing NULL pointers.
attempting to access memory the program does not own. *** Ova go pravis ti vo kodot ***
attempting to alter memory the program does not own (storage violation).

Generally, segmentation faults occur because: a pointer is either NULL, points to random memory (probably never initialized to anything), or points to memory that has been freed/deallocated/"deleted".


Претпоставувам дека си почнал со програмирање во C++ затоа што C++ знае понекогаш да простува вакви грешки, ама тоа не значи дека свесно треба да ги ставаш во кодот. Ако некогаш те изнервирала некоја програма што ти се срушила и ти ги изгубила сите податоци, тоа е затоа што за некој од програмерите нешто вакво „немало веза“. Пробај C# или Java да видиш како таквите јазици вриштат на ваква грешка па ќе видиш дека не е баш мала работа.
bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline

Го прогуглав ова уште прееска Се осигурив дека е тоа што мислам Благодарам енивеј.
obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

bedzo wrote:Го прогуглав ова уште прееска Се осигурив дека е тоа што мислам Благодарам енивеј.


Np Kako TopCoder btw?
bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline

Ми се изгаси 2 пати компјутерот по ред ради струјата и баталив сум изгубил 60 поени и сум паднал на сиво -.- х).. Минатиот бев 55то а можев у топ 30 да се пласирам.. Изгубив 50 поена без веза на прва бидејќи се замарав со еден ИФ стејтмент внатре..

Него ова за трансформаторите треба да испишам 500 реда код да ја решам или има некој пократок начин за ротирање на матрица за 90 степени?

This message was edited 1 time. Last update was at 02/06/2011 19:37:32

obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

Декларираш уште една матрица и користиш два фора. Пробај сам смисли го решението од тука
bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline

Знам дека ке е тоа, но ќе ми треба и 3та матрица за да користам 1 функција за ротирање и за 180 и за 270.
obi1kenobi



Joined: 18/02/2010 20:01:33
Messages: 168
Offline

Ај пробај да смислиш начин со една функција да можеш да ротираш по желба и од функцијата како резултат да ја добиеш матрицата одговор.
bedzo



Joined: 18/01/2011 02:05:03
Messages: 234
Offline

Дали треба да изгледа така некако?

void fun(mat1[][],mat2[][],n){
if(n==1){
ovde clockwise 90
}
if(n==2){
180 stepeni
}
if(n==3){
counter-clocck 90
}

или кога ке ја најдам матрицата за 90, да ја направам еднаква со таа која што ни е дадена и да ја претворам во 180 во помошната?

И ако има за влез матрица со 1 елемент треба да испечатиме 6? Или треба по редослед? Бидејќи сите од 1-6 се точни.
tStojkovski



Joined: 13/02/2010 14:23:00
Messages: 108
Location: Гостивар
Offline

bedzo wrote:Дали треба да изгледа така некако?

void fun(mat1[][],mat2[][],n){
if(n==1){
ovde clockwise 90
}
if(n==2){
180 stepeni
}
if(n==3){
counter-clocck 90
}

или кога ке ја најдам матрицата за 90, да ја направам еднаква со таа која што ни е дадена и да ја претворам во 180 во помошната?

И ако има за влез матрица со 1 елемент треба да испечатиме 6? Или треба по редослед? Бидејќи сите од 1-6 се точни.

кога ќе направиш функција за ротирање 90 степени после само ротираш уште еднаш...
пример ротација за 270 степени вака би изгледало: rotate(rotate(rotate(mat,n),n),n);
каде што rotate() ротира матрица за 90 степени
[Email] [MSN]
 
Forum Index » Други задачи
Go to:   
Powered by JForum 2.1.8 © JForum Team