unsigned int IPAddressToNumber( std:: string IPaddress)
{
std:: string arrDec[ ] = { "" ,"" ,"" ,"" } ;
unsigned int intResult = 0 , i = 0 , j = 0 ;
for ( i = 0 ; i < IPaddress.length ( ) ; i++ )
{
if ( IPaddress[ i] == '.' )
j++ ; i++ ;
arrDec[ j] + = IPaddress[ i] ;
}
for ( i = 0 ; i < 4 ; ++ i)
intResult + = ( unsigned int ) ( atoi ( arrDec[ i] .c_str ( ) ) % 256 ) * pow ( ( double ) 256 , ( int ) i) ;
return intResult;
}
dW5zaWduZWQgaW50IElQQWRkcmVzc1RvTnVtYmVyKHN0ZDo6c3RyaW5nIElQYWRkcmVzcykKewoJc3RkOjpzdHJpbmcgYXJyRGVjW10gPSB7IiIsIiIsIiIsIiJ9OwoJdW5zaWduZWQgaW50IGludFJlc3VsdCA9IDAsIGkgPSAwLCBqID0gMDsKCWZvcihpID0gMDsgaSA8IElQYWRkcmVzcy5sZW5ndGgoKTsgaSsrKQoJewoJCWlmKElQYWRkcmVzc1tpXSA9PSAnLicpCgkJCWorKztpKys7CgkJYXJyRGVjW2pdICs9IElQYWRkcmVzc1tpXTsKCX0KCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpCgkJaW50UmVzdWx0ICs9ICh1bnNpZ25lZCBpbnQpKGF0b2koYXJyRGVjW2ldLmNfc3RyKCkpICUgMjU2KSAqIHBvdygoZG91YmxlKTI1NiwgKGludClpKTsKCXJldHVybiBpbnRSZXN1bHQ7Cn0=