Feladat: S.113 Korcsoport: - Nehézségi fok: -
Füzet: 2017/január, 42. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat, Programozás, algoritmusok

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Egy állatkertben egy hosszú, egyirányú sétálóutca egyik oldalán található sorban mind az N állat kifutója. Az állatkert a világon előforduló összes állatfajt egy 1 és 109 közötti egyedi (egész) számmal azonosítja. Tudjuk, hogy sorban az N kifutó közül melyikben milyen állat van. Az állatkert speciális túrákat tart. Minden túra résztvevői két tetszőleges kifutó között megtekinthetik az összes állatot. A túra során elengedhetetlen, hogy a látogatók minden, az állatkertben megtalálható állatfajnak legalább egy egyedét láthassák. Az állatkert vezetése kíváncsi, hogy hányféle különböző túrát lehet az állatkertben vezetni ennek a feltételnek a betartásával. Két túra különböző, ha a kezdőpontjuk vagy a végpontjuk különböző. A sétálóutca egyirányú, tehát a résztvevők nem sétálhatnak visszafelé. Készítsünk programot, amely megadja a feltételnek eleget tevő túrák számát.
A standard bemenet első sorában a kifutók N száma van, a következő sor tartalmazza a kifutók ,,lakóinak'' azonosítóját sorrendben.
A standard kimenet egyetlen egész számot tartalmazzon: a különböző túrák számát.
Pontozás: Az első két tesztesetben N100, a harmadik tesztesetben N5000.
Korlátok: 1N2105, minden állatfaj azonosítója 1 és 109 közötti egész, az időkorlát 1 mp.

 
BemenetKimenet  6   9   1 2 3 2 1 3   
 

Magyarázat: a helyes túrák (kezdőponttal és végponttal megadva): (1,3), (1,4), (1,5), (1,6), (2,5), (2,6), (3,5), (3,6), (4,6).