2105 IP Address

Last-modified: 2010-05-24 (月) 21:17:56

原文


時間制限:1000ミリ秒
メモリ制限:30000KB

IPアドレス

問題

あなたはIPアドレスを表現するバイト列を何かのデバイスから読み取っているとする。あなたの仕事は、0か1からなるビットの32個の列を、ドット区切りの10進のフォーマットに変換することである。IPアドレスの表記に用いられるドット区切りの10進のフォーマットは、8ビットごとに2進表記を10進表記に変換してその4つをドットで区切るものである。どのような8ビットの数値もIPアドレスの一部分としては正しい。数値を変換するさいに、それらの数値は位取り記数法に基づくことに注意せよ。つまり、2進法における最初の8ビットは以下の数値に対応する:

2726252423222120
1286432168421

入力

入力の最初の行は変換したいバイト列の個数をあらわす数N(1<=N<=9)が書かれている。続くNラインがバイト列である。

出力

ドット区切りの10進のIPアドレスが書かれた行をN個出力せよ。ドット区切りの10進のIPアドレスは8ビットごとに2進法から10進法に変換して得られる。

入力例

4
00000000000000000000000000000000
00000011100000001111111111111111
11001011100001001110010110000000
01010000000100000000000000000001

出力例

0.0.0.0
3.128.255.255
203.132.229.128
80.16.0.1

出典

México and Central America 2004