Diferențe pentru problema/ctrlnode între reviziile #11 si #30

Nu există diferențe între titluri.

Diferențe între conținut:

== include(page="template/taskheader" task_id="ctrlnode") ==
_Aceasta problema este varianta originală a problemei controlnode, dată la Testarea IQ-Academy Clasa a 8-a, anul 2023_
 
Ansible reprezintă o serie de utilitare software ce pot fi folosite în stil programatic, implementând cod, ce are ca scop următoarele dar nu numai: managementul serverelor prin configurarea și aprovizionarea acestora cu pachetele și programelor informatice necesare pentru o cât mai bună comunicare între acestea și nodul de control ( serverul de pe care acțiunea de coordonare este inițiată ).
Mai multe detalii aici:
....
Entityk   (k <= 20)
[...
....
....
#######
group\* | all
group * | all
c
Unde “ * ” poate fi orice număr natural mai mic decât 1 milion, iar “Entity *” poate fi o grupă de servere sau în sine un server. În final c poate fi 1 sau 2, în funcție de cerința de rezolvat.
h2. Restricții
    *  N, M &le 10[^6^]
    *  K &le 20
    *  Pentru teste în valoare de 58% cerința va fi 1)
    *  Pentru teste în valoare de 42% cerința va fi 2)
    *  Dintre acestea, pentru teste în valoare de 45% G = ‘all’. Pentru aceste teste, grupa ‘all’ va fi explicit definită, ceea ce înseamnă că va fi mai ușor a se detecta relațiile de subordine între entități.
    *  Pentru restul de 55% această definire nu va fi efectuată, rămânând la latitudinea concurentului a scrie un program ce va organiza serverele și grupele corect.
    *  Pentru 76% dintre teste N, M <= 10[^4^] .
    *  Se garantează că aceeași grupă nu apare în 2 locuri diferite în fișierul de intrare ( nu apare ca fiind descris , adica intre paranteze patrate , de mai mult de o singura data , dar nici nu apare subordonat direct de mai mult de o singura data )
    *  IP-urile de asemenea POT aparea de mai mult de o data in fisierul de intrare
*  N, M  10[^6^]
*  K  20
*  Pentru teste în valoare de 58% cerința va fi 1)
*  Pentru teste în valoare de 42% cerința va fi 2)
*  Dintre acestea, pentru teste în valoare de 45% G = ‘all’. Pentru aceste teste, grupa ‘all’ va fi explicit definită, ceea ce înseamnă că va fi mai ușor a se detecta relațiile de subordine între entități.
*  Pentru restul de 55% această definire nu va fi efectuată, rămânând la latitudinea concurentului a scrie un program ce va organiza serverele și grupele corect.
*  Pentru 76% dintre teste N, M  10[^4^] .
*  Se garantează că aceeași grupă nu apare în 2 locuri diferite în fișierul de intrare ( nu apare ca fiind descris , adica intre paranteze patrate , de mai mult de o singura data , dar nici nu apare subordonat direct de mai mult de o singura data )
*  IP-urile de asemenea POT aparea de mai mult de o data in fisierul de intrare
h2. Exemplu
table(example).
|_. ctrlnode.in |_. ctrlnode.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|  [all]
group1
group2
group3
[group1]
2459:ab46:0023:1111:2433:2354:7686:5670
2459:ab46:0023:1111:2433:2754:7686:5670
[group2]
2459:ab46:0023:1111:3243:2353:8888:0000
2459:ab46:0023:1111:3467:3563:5555:1111
ffaa:2334:2343:9913:6845:4302:2aaa:bbbb
ffaa:2334:2343:9913:4363:4253:2451:cccc
[group3]
1111:2222:3333:4444:5555:6666:7777:aaaa
#######
all
1
| 1111:2222:3333:4444:5555:6666:7777:aaaa
2459:ab46:0023:1111:2433:2354:7686:5670
2459:ab46:0023:1111:2433:2754:7686:5670
2459:ab46:0023:1111:3243:2353:8888:0000
2459:ab46:0023:1111:3467:3563:5555:1111
ffaa:2334:2343:9913:4363:4253:2451:cccc
ffaa:2334:2343:9913:6845:4302:2aaa:bbbb
|
| [all]
group1
group2
group3
[group1]
2459:ab46:0023:1111:2433:2354:7686:5670
2459:ab46:0023:1111:2433:2754:7686:5670
[group2]
2459:ab46:0023:1111:3243:2353:8888:0000
2459:ab46:0023:1111:3467:3563:5555:1111
ffaa:2334:2343:9913:6845.4302:2aaa:bbbb
ffaa:2334:2343:9913:4363:4253:2451:cccc
[group3]
1111:2222:3333:4444:5555:6666:7777:aaaa
#######
all
2
| 2459:ab46:0023:1111
|
| [group1]
4525:3243:8941:afc4:2345:1113:3245:aaaa
5376:2354:1111:2345:abcd:efab:1589:0234
7823:1324:1113:2345:1111:3445:2343:1345
[group3]
1456:2456:2457:1345:1104:1459:8888:0000
group2
[group2]
0000:0000:1111:2222:3333:4444:5555:6666
[group4]
group1
8881:3435:1245:1245:0001:0002:0003:3566
#######
group4
1
| 4525:3243:8941:afc4:2345:1113:3245:aaaa
5376:2354:1111:2345:abcd:efab:1589:0234
7823:1324:1113:2345:1111:3445:2343:1345
8881:3435:1245:1245:0001:0002:0003:3566
|
h3. Explicație
...
Primul exemplu: Aici extragem practic toate serverele prezente, deoarece prin definitie toate serverele apartin grupei “all”. Sortate lexicografic rezulta output-ul prezentat.
 
Al doilea exemplu: Aceeasi structura cu primul exemplu. Remarcam ca cea mai prezenta retea este 2459:ab46:0023:1111  (apare de 4 ori)
 
Al treilea exemplu: Dorim sa extragem toate serverele din grupa a 4-a. Observam ca grupa ‘all’ nu este definita aici. Deci ce este de facut ? Observam ca grupele care nu sunt subordonate altora, fiind cele mai generale sunt grupa a 4-a si grupa a 3-a. Cum se intereseaza doar grupa a 4-a, vom explora doar componentele acesteia. Printre altele aceasta grupa are ca subordonat direct un IP ( ce este extras in scopul de a fi afisat). De asemenea, grupa 4 mai contine si grupa 1. In grupa 1 gasim alte 3 servere. Extragem si Ip-urile acestora. In total, cele 4 servere sunt afisate in ordine crescatoare, acesta constituind si rezultatul final.
== include(page="template/taskfooter" task_id="ctrlnode") ==

Nu există diferențe între securitate.