Xarxes privades


Submit solution

Points: 10
Time limit: 5.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C#, Go, Java

A l'arquitectura d'adreçament d'Internet, una xarxa privada és una xarxa que utilitza l'espai d'adreces IP privades:

  • 10.0.0.0 - 10.255.255.255
  • 172.16.0.0 - 172.31.255.255
  • 192.168.0.0 - 192.168.255.255

Les adreces privades no s'asignen a cap organització concreta i qualsevol persona pot utilitzar aquestes adreces sense l'aprovació d'un Registre Regional d'Internet.

La xarxa a la que pertany un ordinador es calcula a partir de la seva IP i la seva màscara de xarxa:

  1. Es passa cada nombre de la ip a un octet binari, i es coloquen consecutivament els quatre octets.
  2. Es crea un nombre binari amb tants 1 com indica la màscara i es completa amb 0 fins a 32 bits.
  3. Es realitza la operació AND entre el primer i el segon nombre. El valor resultant és la IP on comença la xarxa
  4. Es crea un nombre binari amb tants 0 com indica la màscara i es completa amb 1 fins a 32 bits.
  5. Es realitza la operació OR entre el primer i el segon nombre. El valor resultant és la IP on acaba la xarxa

Input Format

La entrada consta dels quatre octets d'una adreça IP i una màscara de xarxa, separats per espais en blanc.

Constraints

La IP i la màscara són vàlides.

Output Format

S'imprimirà la primera adreça de la xarxa, la última adreça, i s'indicarà si és una adreça pública o privada.

Test Case 1

Input
192 168 55 118
11
Output
First IP: 192.160.0.0
Last IP: 192.191.255.255
Public

Test Case 2

Input
192 168 55 118
24
Output
First IP: 192.168.55.0
Last IP: 192.168.55.255
Private

Test Case 3

Input
192 168 55 118
11
Output
First IP: 192.160.0.0
Last IP: 192.191.255.255
Public

Test Case 4

Input
10 2 2 1
11
Output
First IP: 10.0.0.0
Last IP: 10.31.255.255
Private

Test Case 5

Input
172 16 2 1
22
Output
First IP: 172.16.0.0
Last IP: 172.16.3.255
Private

Test Case 6

Input
35 16 23 214
24
Output
First IP: 35.16.23.0
Last IP: 35.16.23.255
Public

Test Case 7

Input
35 16 23 214
8
Output
First IP: 35.0.0.0
Last IP: 35.255.255.255
Public

Test Case 8

Input
8 8 8 8
30
Output
First IP: 8.8.8.8
Last IP: 8.8.8.11
Public

Test Case 9

Input
172 32 16 0
12
Output
First IP: 172.32.0.0
Last IP: 172.47.255.255
Public

Test Case 10

Input
172 15 255 0
22
Output
First IP: 172.15.252.0
Last IP: 172.15.255.255
Public

Test Case 11

Input
10 0 0 1
6
Output
First IP: 8.0.0.0
Last IP: 11.255.255.255
Public

Test Case 12

Input
235 84 63 17
19
Output
First IP: 235.84.32.0
Last IP: 235.84.63.255
Public

Authorship: Gerard Falcó

CC BY-NC-SA 4.0