#1623
Avem o matrice triunghiulară cu n linii, cu elemente numere întregi. În această matrice putem construi un traseu după următoarea regulă:
a1,1ai,j aparţine traseului, atunci următorul element al traseului poate fi doar ai+1,j sau ai+1,j+1, pentru orice 1≤j≤i<n.1 la n. Valoarea traseului este egală cu suma elementelor ce îl formează.5+4+6+5+4=24, şi se codifică cu 1,2,3,3,4.
Fie mulţimea tuturor traseelor de valoare maximă generate în ordine lexicografică și numerotate. Pentru exemplul de mai sus avem șase trasee de lungime maximă:
1 1 1 1 2 (5+2+7+6+4=24)1 1 1 2 2 (5+2+7+6+4=24)1 2 2 2 2 (5+4+5+6+4=24)1 2 3 3 4 (5+4+6+5+4=24)1 2 3 4 4 (5+4+6+5+4=24)1 2 3 4 5 (5+4+6+5+4=24)Cunoscând dimensiunea și elementele unei matrice triunghiulare, respectiv două numere naturale st şi dr (st≤dr), se cere să se determine:
2000000000, se va tipări valoarea 2000000001;st, st+1, … , dr.OJI 2016, Clasele XI-XII
| Problema | SumMax1 | Operații I/O |
summax1.in/summax1.out
|
|---|---|---|---|
| Limita timp | 2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
| Id soluție | #55416591 | Utilizator | |
| Fișier | summax1.cpp | Dimensiune | 1.19 KB |
| Data încărcării | 14 Ianuarie 2025, 12:34 | Scor/rezultat | Eroare de compilare |
summax1.cpp: In function 'int main()': summax1.cpp:18:25: error: invalid types 'int[int]' for array subscript cin >> d[i][j]; ^ summax1.cpp:19:34: error: invalid types 'int[int]' for array subscript for (j = 1; j <=n; ++j) cnt[i][j] = 1; ^ summax1.cpp:24:10: error: invalid types 'int[int]' for array subscript d[i][j] = max(d[i + 1][j], d[i + 1][j + 1]) + d[i][j]; ^ summax1.cpp:24:28: error: invalid types 'int[int]' for array subscript d[i][j] = max(d[i + 1][j], d[i + 1][j + 1]) + d[i][j]; ^ summax1.cpp:24:45: error: invalid types 'int[int]' for array subscript d[i][j] = max(d[i + 1][j], d[i + 1][j + 1]) + d[i][j]; ^ summax1.cpp:24:56: error: invalid types 'int[int]' for array subscript d[i][j] = max(d[i + 1][j], d[i + 1][j + 1]) + d[i][j]; ^ summax1.cpp:25:18: error: invalid types 'int[int]' for array subscript if (d[i + 1][j] == d[i + 1][j + 1]) ^ summax1.cpp:25:37: error: invalid types 'int[int]' for array subscript if (d[i + 1][j] == d[i + 1][j + 1]) ^ summax1.cpp:27:13: error: invalid types 'int[int]' for array subscript cnt[i][j] = cnt[i + 1][j] + cnt[i + 1][j + 1]; ^ summax1.cpp:27:29: error: invalid types 'int[int]' for array subscript cnt[i][j] = cnt[i + 1][j] + cnt[i + 1][j + 1]; ^ summax1.cpp:27:49: error: invalid types 'int[int]' for array subscript cnt[i][j] = cnt[i + 1][j] + cnt[i + 1][j + 1]; ^ summax1.cpp:28:17: error: invalid types 'int[int]' for array subscript if (cnt[i][j] > 2000000000) ^ summax1.cpp:29:14: error: invalid types 'int[int]' for array subscript cnt[i][j] = 2000000001; ^ summax1.cpp:31:23: error: invalid types 'int[int]' for array subscript else if (d[i + 1][j] > d[i + 1][j + 1]) ^ summax1.cpp:31:41: error: invalid types 'int[int]' for array subscript else if (d[i + 1][j] > d[i + 1][j + 1]) ^ summax1.cpp:32:13: error: invalid types 'int[int]' for array subscript cnt[i][j] = cnt[i + 1][j]; ^ summax1.cpp:32:29: error: invalid types 'int[int]' for array subscript cnt[i][j] = cnt[i + 1][j]; ^ summax1.cpp:33:17: error: invalid types 'int[int]' for array subscript else cnt[i][j] = cnt[i + 1][j + 1]; ^ summax1.cpp:33:37: error: invalid types 'int[int]' for array subscript else cnt[i][j] = cnt[i + 1][j + 1]; ^ summax1.cpp:36:30: error: invalid types 'int[int]' for array subscript if (c == 1) cout << cnt[1][1]; ^ summax1.cpp:46:19: error: invalid types 'int[int]' for array subscript if (d[i + 1][j] == d[i + 1][j + 1]) ^ summax1.cpp:46:38: error: invalid types 'int[int]' for array subscript if (d[i + 1][j] == d[i + 1][j + 1]) ^ summax1.cpp:48:26: error: invalid types 'int[int]' for array subscript if (x > cnt[i + 1][j]) ^ summax1.cpp:50:27: error: invalid types 'int[int]' for array subscript x = x - cnt[i + 1][j]; ^ summax1.cpp:54:24: error: invalid types 'int[int]' for array subscript else if (d[i + 1][j] < d[i + 1][j + 1]) ++j; ^ summax1.cpp:54:42: error: invalid types 'int[int]' for array subscript else if (d[i + 1][j] < d[i + 1][j + 1]) ++j; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema SumMax1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.