Salt la conținut

SUBIECTE NOI
« 1 / 5 »
RSS
Izolatie intre OSB si placa de be...

instalatie incalzire apartament 2...

HEV D Segment - intrebari/pareri ...

Hyperos consum excesiv baterie?
 Contractul pentru Salubrizare est...

Elicopterul care-l transporta pe ...

Sfaturi achizitionare apartament ...

Permis de conducere nou
 Packet Loss la Digi

Masurare parametri CATV prin Conn...

Youtube a inceput sa aiba lag!?

Internet Archive - adauga item la...
 Electrica Furnizare + Poșta ...

Probleme cu scurgerea de ulei pe ...

Blocuri cu apartamente de 5+ camere

Casa noua finisata, teava incalzi...
 

problema matrice binara c++

- - - - -
  • Vă rugăm să vă autentificați pentru a răspunde
24 răspunsuri în acest subiect

#19
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Mesaje: 1.361
  • Înscris: 21.04.2019

View PostStef_Stef, on 02 iulie 2019 - 15:36, said:

se respecta si cerinta 2: doua linii consecutive din matrice au n-2 pozitii cu valori identice iar celelalte 2 pozitii contin valori diferite?

Quote

Deci vom avea un tablou cu 4 coloane, 6 linii. Fiecare grupare de linii consecutive va avea: primele 2 pozitii acelasi si ultimele 2 diferite.
Avem:
2 x 0 = 0 =>  0  0  0  0
2 x 1 = 2 =>  0  0  1  0

2 x 2 = 4 =>  0  1  0  0
2 x 3 = 6 =>  0  1  1  0

2 x 4 = 8 =>  1  0  0  0
2 x 5 = 10=> 1  0  1  0
Da

Editat de Iulius-Foyas, 02 iulie 2019 - 15:39.


#20
sags

sags

    Guru Member

  • Grup: Senior Members
  • Mesaje: 10.036
  • Înscris: 24.04.2013

View PostStef_Stef, on 02 iulie 2019 - 15:36, said:

se respecta si cerinta 2: doua linii consecutive din matrice au n-2 pozitii cu valori identice iar celelalte 2 pozitii contin valori diferite?

View PostIulius-Foyas, on 02 iulie 2019 - 15:37, said:

Da

Ba nu.

@Iulius-Foyas: Ai examinat doar numere mici. Ia vezi ce se intampla cand treci de la 7 la 8…

Cand convertesti index_linie * 2 in baza 2, nu faci altceva decat sa numeri in baza 2 dar de fiecare data sa ai un bit 0 adaugat in plus le dreapta. Prin urmare daca se face carry peste mai mult de 1 cifra sau nu se face deloc atunci nu se respecta conditiile problemei. Chiar in exemplul tau, primele 2 linii nu difera decat la o singura pozitie nu 2 cum se cere.

@MihaelaEla:
Nu stiu daca exista un algoritm ‘clasic’ pentru a rezolva problema ta.

Un backtracking ar trebui sa mearga. Ai 2n valori distincte de n biti si tie iti trebuie doar 2n-2 din ele. Deci s-ar putea sa gaseasca o solutie destl de rapid.

Altfel, imi pare ca exista o solutie destul de simpla. Pornesti cu prima linie 0 00. In prima etapa, pentru a genera o noua linie negi cate 2 biti alaturati ai liniei anterioare, incepand cu primele 2 pozitii din stanga, apoi a 2-a si a 3-a, etc. Asa mai obtii n - 1 linii. In a doua etapa faci din nou acelasi lucru dar numai de n - 2 ori, adica te opresti inainte de a nega ultima pereche (total: 1 + n-1 + n-2 = 2n - 2 linii). Cred ca iese ce trebuie, dar nu am incercat.

A treia solutie ar fi sa apelezi la ceva clasic inrudit cu problema ta: coduri Gray. Generezi un cod Gray de n - 1 biti, si la fiecare linie adaugi alternativ cate un bit 0/1 la dreapta (sau stanga, sau in alta pozitie fixa, cum preferi).

Editat de sags, 02 iulie 2019 - 16:58.


#21
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Mesaje: 1.361
  • Înscris: 21.04.2019

Quote

@Iulius-Foyas: Ai examinat doar numere mici. Ia vezi ce se intampla cand treci de la 7 la 8…
Cand convertesti index_linie * 2 in baza 2, nu faci altceva decat sa numeri in baza 2 dar de fiecare data sa ai un bit 0 adaugat in plus le dreapta. Prin urmare cand se face carry peste mai mult de 2 cifre sau peste o singura cifra nu se respecta conditiile problemei. Chiar in exemplul tau, primele 2 linii nu difera decat la o singura pozitie nu 2 cum se cere.
insa nici exemplu dat de autori nu respecta cerintele problemei chiar si pt numere mici. Asadar ce este corect pana la urma ?

Editat de Iulius-Foyas, 02 iulie 2019 - 17:01.


#22
sags

sags

    Guru Member

  • Grup: Senior Members
  • Mesaje: 10.036
  • Înscris: 24.04.2013
Exemplul dat de autori’, adica acesta?

View PostMihaelaEla, on 02 iulie 2019 - 11:20, said:

… ex:
0 0 1
1 0 0
0 1 0
1 1 1
Eu vad ca respecta cerintele impuse. Am subliniat pozitiile care difera fata de linia anterioara.

#23
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Mesaje: 1.361
  • Înscris: 21.04.2019

Quote

doua linii consecutive din matrice au n-2 pozitii cu valori identice iar celelalte 2 pozitii contin valori diferite.
n = 3 => n-2 pozitii = 3-2 = 1 , deci prima pozitie trebuie sa fie identica la doua linii consecutive.

Quote

0 0 1
1 0 0
0 1 0
1 1 1

Editat de Iulius-Foyas, 02 iulie 2019 - 18:03.


#24
sags

sags

    Guru Member

  • Grup: Senior Members
  • Mesaje: 10.036
  • Înscris: 24.04.2013
Eu inteleg ca n-2 din pozitii trebuie sa fie identice, acestea putand fi oricare din cele n nu neaparat primele sau consecutive sau etc. Si de la o pereche de linii consecutive la alta pot fi alte n-2 pozitii, nu neaparat aceleasi. Celelalte 2 trebuie sa fie diferite.

Dealtfel daca ‘prima pozitie trebuie sa fie identica la [oricare] doua linii consecutive’ se deduce prin inductie ca prima pozitie (sau primele n-2 in cazul general) a tuturor liniilor trebuie sa fie aceeasi (aceleasi). Raman sa varieze doar ultimele 2 pozitii, adica cel mult 4 combinatii distincte…

Editat de sags, 02 iulie 2019 - 18:07.


#25
Iulius-Foyas

Iulius-Foyas

    Active Member

  • Grup: Members
  • Mesaje: 1.361
  • Înscris: 21.04.2019

View Postsags, on 02 iulie 2019 - 18:04, said:

Eu inteleg ca n-2 din pozitii trebuie sa fie identice, acestea putand fi oricare din cele n nu neaparat primele sau consecutive sau etc. Celelalte 2 trebuie sa fie diferite.
Adica acel (n-2) sa reprezinte numarul de elemente al intersectiei dintre multimea elementelor liniei 1 si multimea elementelor liniei 2 ?

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

Utilizatori activi: 1

0 membri, 1 vizitatori, 0 utilizatori anonimi

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate