Hide

Problem C
Bendilfærslur

Languages en is
/problems/bendilfaerslur/file/statement/is/img-0001.png
Mynd fengin af RIPE NCC

Níels er mjög gleyminn og á alltof mörg lén. Þegar hann var að setja upp vefsíðuna sína lenti hann í því að gleyma á hvaða léni síðan er á, en sem betur fer hann var búin að skrifa niður hver IP talan á vefsíðunni sinni er. Nú þarf Níels að finna á hvaða léni síðan hans er á, því honum langar að sýna vini sínum síðuna sína. Hann þarf því að framkvæma öfuga DNS leit til að finna lénið sitt. Til þess þarf hann hinsvegar að breyta IP tölunni á form fyrir bendilfærslu (e. PTR record) en þar sem hann er of upptekinn við að miðja div á síðunni sinni bað hann þig um að koma IP tölunni yfir á rétt form.

Inntak

Ein lína með einni IP tölu sem getur verið annaðhvort IPv4 eða IPv6.

IPv4 tölur samanstanda af fjórum pörtum. Hver partur er ein heiltala á bilinu $0$ til $255$. Partarnir eru aðskildir með punkti.

Dæmi um gildar IPv4 tölur

  • 10.100.80.13

  • 255.255.255.255

  • 255.160.134.0

Dæmi um ógildar IPv4 tölur

  • 300.1.35.28

  • 255.255.255.254.1

  • 127,0,0,1

IPv6 tölur samanstanda af átta pörtum. Hver partur er fjögurra stafa sextándakerfistala. Sextándakerfistölur eru táknaðar með tölustöfunum $0$ til $9$ og bókstöfunum $a$ til $f$. Partarnir eru aðskildir með tvípunkti. Í hverjum parti fyrir sig má sleppa að skrifa inn ofauknum núllum framan af tölunni. Ef það eru tveir eða fleiri samliggjandi partar sem innihalda bara $0$ þá er hægt að stytta þá út með því að skrifa tvo tvípunkta í staðinn. Þetta er einungis hægt að gera á einum stað í IP tölunni.

Dæmi um gildar IPv6 tölur

  • ffff:dead:1337:beef:4321:f33d:2f92:3419

  • 2001:db8:0:0:0:ff00:42:8329

  • ::1

Dæmi um ógildar IPv6 tölur

  • 0123:4567:89ab:cdef:ghij:klmn:opqr:stuv

  • ffff:1234::f6b90::abcd

  • 2001:db8:0:0:0:ff00:42:8329:1234

Úttak

Ein lína þar sem er búið að breyta IP tölunni yfir á form fyrir bendilfærslu.

IPv4 tölur á bendilfærslu formi eru þannig að röðinni á pörtunum fjórum er snúið við og in-addr.arpa. bætt við í lokin.

Síðan eru IPv6 tölur á bendilfærslu formi þannig að óstyttu gerðinni af tölunni er snúið við, sleppt tvípunktunum og settur er punktur á milli hvers tákns. Síðan er bætt við .ip6.arpa. í endann.

Stigagjöf

Hópur

Stig

Takmarkanir

1

30

Einungis IPv4

2

40

Einungis IPv6, þar sem ekki er búið að stytta út samliggjandi $0$

3

30

Engar frekari takmarkanir

Sample Input 1 Sample Output 1
127.0.0.1
1.0.0.127.in-addr.arpa.
Sample Input 2 Sample Output 2
2001:db8:0:0:0:ff00:42:8329
9.2.3.8.2.4.0.0.0.0.f.f.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
Sample Input 3 Sample Output 3
::1
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.