infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Mircea Pasoi din Iulie 10, 2005, 23:37:25



Titlul: 074 Heroes of Might & Magic
Scris de: Mircea Pasoi din Iulie 10, 2005, 23:37:25
Aici puteţi discuta despre problema Heroes of Might & Magic (http://infoarena.ro/problema/homm).


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: u-92 din Iulie 14, 2005, 14:22:39
sigur e bun exemplul? mie imi da 104 (am verificat sursa de 10 de ori)


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: andreit1 din Iulie 14, 2005, 15:02:26
Sigur e bun. Nu am verificat cu back... dar trebuie sa fie bun.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Dobre Catalin Andrei din Iulie 14, 2005, 22:27:48
Eu la problema am facut asa:
 H:array[1..20,0..101,0..101]of longint;

 H[p,i,j]:=H[p-1,i-1,j]+H[p-1,i+1,j]+H[p-1,i,j-1]+H[p-1,i,j+1];
 rez:=H[1,fi,fj] +H[2,fi,fj]+...H[k,fi,fj];
Si iau doar 30 de puncte :(
  Am incercat varianta din articol(probabil ca nu am inteles bine)
  H[p,i,j]:=H[p-1,i-1,j]+H[p-1,i+1,j]+H[p-1,i,j-1]+H[p-1,i,j+1]+H[p-1,i,j];
  rez:=H[p,fi,fj];
  Si da niste valori de te sperii....
  Ce am abordat gresit?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Mircea Pasoi din Iulie 14, 2005, 22:39:17
Citat din mesajul lui: dobre
Eu la problema am facut asa:
 H:array[1..20,0..101,0..101]of longint;

 H[p,i,j]:=H[p-1,i-1,j]+H[p-1,i+1,j]+H[p-1,i,j-1]+H[p-1,i,j+1];
 rez:=H[1,fi,fj] +H[2,fi,fj]+...H[k,fi,fj];
Si iau doar 30 de puncte :(
  Am incercat varianta din articol(probabil ca nu am inteles bine)
  H[p,i,j]:=H[p-1,i-1,j]+H[p-1,i+1,j]+H[p-1,i,j-1]+H[p-1,i,j+1]+H[p-1,i,j];
  rez:=H[p,fi,fj];
  Si da niste valori de te sperii....
  Ce am abordat gresit?


Prima abordare este corecta (am corectat si articolul) dar ai grija sa calculezi H[p,i,j] doar pentru pozitiile (i, j) pentru care este 0 in matrice.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Dobre Catalin Andrei din Iulie 15, 2005, 02:24:18
Pai mai intai verific daca Map[i,j]=0 daca da insumez vecinii.
Nu conteaza daca un vecin are obstacol. Dar totusi 30 p :(


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Dobre Catalin Andrei din Iulie 15, 2005, 03:20:29
Am luat 90 p acum
am pus in loc de longint- int64...
TEST 7   ...[0.02s]...   Incorect sau fisier iesire lipsa
Totusi int64 cred ca ajunge  :shock: . Ce altceva poate fi?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Mircea Pasoi din Iulie 15, 2005, 12:24:06
Citat din mesajul lui: dobre
Am luat 90 p acum
am pus in loc de longint- int64...
TEST 7   ...[0.02s]...   Incorect sau fisier iesire lipsa
Totusi int64 cred ca ajunge  :shock: . Ce altceva poate fi?


Ciudat caci eu am luat 100p cu int (echivalent longint in pascal) , plus ca parca se garanta in enunt ca numarul nu depaseste 2.000.000.000.
Cred ca mai degraba eroare e de la matricea "map" care e declarata byte.. incearca cu longint.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: andreit1 din Iulie 15, 2005, 13:27:44
Dobre vezi ca ai uitat un caz: atunci cand punctul initial este acelasi cu punctul final.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Dobre Catalin Andrei din Iulie 15, 2005, 21:11:46
Mersi pt. obesrvatie, am facut asa dar se pare ca nu asta era problema, am facut map de tip longint si tot asa :( . Chiar ma calca pe nervi!!!  :x

Domino:  chiar daca se garanta, pana la raspunsul final mai sunt puncte in care sunt mult mai multe drumuri...


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: andreit1 din Iulie 15, 2005, 22:09:31
Lucreaza modulo 1000001 daca nu vrei sa ai probleme cu tipul de data folosit... astfel poti folosi linistit longint.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Dobre Catalin Andrei din Iulie 15, 2005, 22:45:46
NU cred ca ii problema cu citirea. Doar mi-au mers 9 teste pe byte. NU cred ca ii testul 7 mai cu mot si depaseste longint!!!  :-s


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: andreit1 din Iulie 15, 2005, 23:06:13
La testul 7 punctul initial este acelasi cu punctul final( am trimis sursa in 2 variante diferite si mi-am dat seama)... deci adaoga 1 la rezultat in cazul asta. Alt motiv nu vad pentru care iei 9 teste din 10.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Dobre Catalin Andrei din Iulie 16, 2005, 01:46:31
Esti tare ma, asta era problema ;) , mersi mult ,totusi de ce ii +1?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: cristi8 din Iulie 16, 2005, 08:22:30
Citat din mesajul lui: dobre
Esti tare ma, asta era problema ;) , mersi mult ,totusi de ce ii +1?

..pai e drum de lungime 0.
0 < K


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Dobre Catalin Andrei din Iulie 16, 2005, 10:48:43
:lol:  chiar asa este, nu m-am gandit la situatia asta, mersi pentru lamurire  :wink:


Titlul: F1
Scris de: Tabara Mihai din Februarie 19, 2006, 15:40:03
un link cu explicatiile oficiale mi-ar fii de mare ajutor....am luat cu back 20 si am in Ginfo solutia oficiala si am inteles insa:( ...dar zicea domino ca a schimbat ceva in articol si vreau sa vad solutia recorectata........si nu o gasesc pe www.ginfo.ro(ori sunt orb:(:(: ..ori sunt prea obosit sa o observ)...help pls F1!!


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Alb Gabriel din Februarie 19, 2006, 16:08:32
http://info.devnet.ro/articole.php?page=art&art=62


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Bondane Cosmin din Februarie 20, 2006, 20:50:08
ciudat ... am facut un back in plan,bineinteles k nu ma gandesc la 100 de pcte cu asha ceva, dar nush din cele 6 in care imi intra in timp iau numa 3 ... help me cu ceva teste plz


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: andreit1 din Februarie 20, 2006, 21:32:14
Nu cred ca o sa iti dea nimeni teste ca sa vezi de ce nu iti merge backu. Mai bine fa solutia buna care are doar cateva zeci de linii si ata. Si dupa asta daca insisti sa inveti back in plan genereaza teste singur si verifica-le cu dinamica. Asa o sa inveti mai multe dupa parerea mea.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Tabara Mihai din Aprilie 17, 2006, 10:23:45
a mers pana la urma cu matricea tridimensionala de 100 \:D/


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: David si Goliat din Octombrie 31, 2006, 22:01:46
    Nustiu de ce pe exemplul din problema imi da 32.
 Fac cu 3 foruri . Initializez H[x,y,0] cu 1 , apoi intr-un for de la 0 la k parcurg toata matricea si daca m[i,j] este 0 , adun H[i,j,k1] la H[vecini,k1+1].(unde H[i,j,k1] reprezinta nr de moduri de a ajunge de pe m[x,y] pe m[i,j] in k1 pasi )
 E gresit ? Vad ca scoate timpul de 0,01 sec pt fiecare test
 

Last edit : Gata , s-a rezolvat .


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Tabara Mihai din Octombrie 31, 2006, 22:35:18
    Nustiu de ce pe exemplul din problema imi da 32.
 Fac cu 3 foruri . Initializez H[x,y,0] cu 1 , apoi intr-un for de la 0 la k parcurg toata matricea si daca m[i,j] este 0 , adun H[i,j,k1] la H[vecini,k1+1].(unde H[i,j,k1] reprezinta nr de moduri de a ajunge de pe m[x,y] pe m[i,j] in k1 pasi )
 E gresit ? Vad ca scoate timpul de 0,01 sec pt fiecare test

Forul ala de k trebuie sa inceapa de la 1. ( cel putin eu asa am facut )

[Later Edit] A iesit ?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Farcasanu Alexandru Ciprian din Mai 24, 2008, 08:57:07
Pt
Cod:
 
5 5 10
0 0 0 0 0
0 2 0 3 0
0 0 1 0 0
0 2 0 0 0
0 0 0 0 0
1 1 3 3

va da 2580? Ms anticipat


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Serban Andrei Stan din Mai 24, 2008, 09:15:44
Mie imi da 276.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Farcasanu Alexandru Ciprian din Mai 24, 2008, 19:48:58
Of...si ai luat 100?...am facut sursa de 100 in sfarsit si mie imi da 1140


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Flaviu Pepelea din Octombrie 17, 2008, 20:00:58
da 0....nu poti ajunge in celula (3,3)  - are valoarea 1, deci e inaccesibila


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Usurelu Catalin din Ianuarie 19, 2011, 16:22:26
De ce da rezultat gresit (80 de puncte) daca intializez direct vecinii nodului de start (calculez direct h[1][vecin x][vecin y]), dar daca intializez h[0][xi][yi] merge perfect (chiar daca se fac EXACT ACEIASI pasi).


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Ion Ureche din Iulie 14, 2011, 10:14:57
Imi poate recomanda cineva vri-un articol care m-ar ajuta sa rezolv problema data ?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Posea Elena din Decembrie 17, 2011, 19:34:49
numerele alea din matrice, cele diferite de zero, cat de mari/mici pot fi ("intregii" din cerinta inseamna ca sunt int-uri?). si inca o intrebare, conteaza la ceva ce valoare are o casuta, atata timp cat ea e diferita de 0? daca nu, de ce sa nu spunem pur si simplu ca e o matrice cu 0 si 1?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: FII Florea Toma Eduard din Decembrie 28, 2011, 03:38:10
@ blue_phoenix :Numerele din matrice se incadreaza in limita int-ului.Si referitor la a doua intrebare nu conteaza deloc ce valoare e atat timp cat ea e diferita de 0.Enuntul este dat in asa fel incat se incearca,ca sa spun asa, "mascarea" dinamicii.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: UAIC-Padurariu-Cristian din Februarie 26, 2012, 09:37:57
Imi poate spune si mie cineva ce initializari ar trebui facute la inceput ca nu ma prind.   ](*,)


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Visan Radu din Aprilie 30, 2012, 17:47:04
Done.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Mihai Visuian din Februarie 16, 2013, 14:50:09
Am luat pe problema 50 de puncte cu o memoizare...
Am WA si TLE ... testul 7 e corect(cel in care x1,y1 coincid cu x2, y2).

Am procedat astfel: Am apelat memo(x2,y2,k) si am mers recursiv in memo(xnou,ynou,k-1), pana dadeam de starea x1,y1,k=0.

xnou,ynou sunt toti vecinii si am verificat sa nu ies din matrice, iar vecinul respectiv sa fie 0. Nu inteleg de ce am WA...
TLE s-ar putea sa fie din cauza ca intru in ciclu infinit in unele cazuri, insa nu imi dau seama de ce. Am verificat mai multe cazuri.
Imi puteti spune ce cazuri scap?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: George Marcus din Februarie 16, 2013, 18:43:26
Acolo unde verifici daca esti matrice, cred ca ai gresit ordinea lui x si y. x e linia si y e coloana.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Mihai Visuian din Februarie 17, 2013, 10:52:57
Cand am citit, am citit N si M, N = nr linii, M = nr coloane, deci nu cred ca de acolo e problema.

EDIT: Am rezolvat-o... nu calculam cum trebuie toate starile, pentru ca apelam Memoizarea o singura data... :D


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Guianu Leon din Februarie 19, 2013, 13:25:46
Si mie imi da 32 pe exemplul dat. De la ce ar putea fi?
http://infoarena.ro/job_detail/882662


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Visan Radu din Februarie 19, 2013, 13:37:22
Si mie imi da 32 pe exemplul dat. De la ce ar putea fi?
http://infoarena.ro/job_detail/882662
In enunt zice sa calculezi in cate moduri poti ajunge in (x2, y2) cu cel mult K mutari, dar tu calculezi in cate moduri ajungi cu exact K mutari.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Guianu Leon din Februarie 19, 2013, 14:03:19
Si mie imi da 32 pe exemplul dat. De la ce ar putea fi?
http://infoarena.ro/job_detail/882662
In enunt zice sa calculezi in cate moduri poti ajunge in (x2, y2) cu cel mult K mutari, dar tu calculezi in cate moduri ajungi cu exact K mutari.

Asa e. Acum am rezolvat. Multumesc!


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Barbu Dorel din August 18, 2013, 23:18:46
Unde se gaseste articolul cu explicatiile necesare?


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Alex Cociorva din August 19, 2013, 02:11:36
http://www.infoarena.ro/agora-finala/solutii


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Marin Cristian din Ianuarie 20, 2014, 18:34:34
btw, e super jmecher jocul :)
mersi! nu stiam de el


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Andrei Maxim din Martie 14, 2015, 18:06:27
Cat va da pt testul :
5 5 10
0 0 0 0 0
0 2 0 3 0
0 0 1 0 0
0 2 0 0 0
0 0 0 0 0
5 5 5 5
 Ms anticipat !


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Bucevschi Alexandru din Martie 15, 2015, 08:57:50
mie imi da
Cod:
4505


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Hasmasan Dragos din Martie 30, 2015, 22:31:39
Si mie tot 4505 imi da.


Titlul: Răspuns: 074 Heroes of Might & Magic
Scris de: Rapeanu George din Ianuarie 30, 2016, 08:00:46
Nu poate cineva sa ma ajute?Fac rezolvarea exact ca pe articol, dar nu merge
Cod:
#include <fstream>
using namespace std;
ifstream f("homm.in");
ofstream g("homm.out");
long long H[30][100][100],i,j,N,M,K,stx,sty,fnx,fny,rez,Ma[100][100],p;
int main()
{
    f>>N>>M>>K;
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=M;j++)
        {
            f>>Ma[j];
        }
    }
    f>>stx>>sty>>fnx>>fny;
    H[0][stx][sty]=1;
    for(p=1;p<=K;p++)
        for(i=1;i<=N;i++)
            for(j=1;j<=N;j++)
                if(!Ma[j])
                    H[p][j]=H[p-1][i-1][j]+H[p-1][j+1]+H[p-1][i+1][j]+H[p-1][j-1];
    for(i=0;i<=K;i++)
        rez+=H[fnx][fny];
    g<<rez;
    return 0;
}
Multumesc anticipat!