時間制限:1000ミリ秒
メモリ制限:30000KB
IPアドレス
問題
あなたはIPアドレスを表現するバイト列を何かのデバイスから読み取っているとする。あなたの仕事は、0か1からなるビットの32個の列を、ドット区切りの10進のフォーマットに変換することである。IPアドレスの表記に用いられるドット区切りの10進のフォーマットは、8ビットごとに2進表記を10進表記に変換してその4つをドットで区切るものである。どのような8ビットの数値もIPアドレスの一部分としては正しい。数値を変換するさいに、それらの数値は位取り記数法に基づくことに注意せよ。つまり、2進法における最初の8ビットは以下の数値に対応する:
| 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
入力
入力の最初の行は変換したいバイト列の個数をあらわす数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