#4344
smallworld
Teoria lumii mici spune că între oricare două persoane din lume există un șir surprinzător de scurt de persoane astfel încât între oricare două persoane consecutive din șir există o relație de prietenie. Vom numi un astfel de șir “șir de prietenie”. Lungimea unui șir de prietenie este egală cu numărul de relații de prietenie din şir. Se presupune chiar că între oricare două persoane din lume există un şir de prietenie de lungime maximum 6
.
Fie N
persoane identificate prin numerele de la 1
la N
. Între cele N
persoane există exact N-1
relații de prietenie astfel încât între oricare două persoane să existe un șir de prietenie. Distanța socială maximă pentru o persoană p
este lungimea maximă a unui şir de prietenie care începe cu persoana p
. Cunoscând numărul de persoane N precum și cele N - 1
relații de prietenie, determinaţi pentru fiecare persoană distanţa socială maximă a persoanei respective.
Olimpiada Municipală de Informatică, Iași, 2023
Problema | smallworld | Operații I/O |
smallworld.in /smallworld.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #44506079 | Utilizator | |
Fișier | smallworld.cpp | Dimensiune | 1.30 KB |
Data încărcării | 30 August 2023, 17:11 | Scor / rezultat | 87 puncte |
smallworld.cpp: In function 'int main()': smallworld.cpp:38:41: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("smallworld.in", "r", stdin); ^ smallworld.cpp:39:43: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("smallworld.out", "w", stdout); ^ smallworld.cpp:41:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ smallworld.cpp:45:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &x, &y); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | ||
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 13 | 13 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 6 | 6 | ||
5 | 0 secunde | OK. | 8 | 8 | ||
6 | 0 secunde | OK. | 4 | 4 | ||
7 | 0.016 secunde | OK. | 5 | 5 | ||
8 | 0.044 secunde | OK. | 7 | 7 | ||
9 | 0.06 secunde | OK. | 9 | 9 | ||
10 | Depășit | Limita de timp depășită | 6 | 0 | ||
11 | Depășit | Limita de timp depășită | 7 | 0 | ||
12 | 0 secunde | OK. | 5 | 5 | Exemplu | |
13 | 0 secunde | OK. | 5 | 5 | Exemplu | |
Punctaj total | 87 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema smallworld 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ă.