network address是前(32-n)随意 后n位全零

network mask是前(32-n)全一 后n位全零

本题主要利用位移操作,1ULL表示无符号长整型的常数1,这样写可防止不必要的溢出,取反后可以作为mask的枚举然后拿mask和mins或者maxs并一下就得到address了。

代码:

#include <cstdio>
#include <iostream>
using namespace std; const int maxn = 70; int main()
{ int n;
while(scanf("%d", &n) == 1)
{
unsigned int maxs = 0;
unsigned int mins = 0-1;
//printf("%u\n",mins);
int a, b, c, d;
unsigned int e;
for(int i = 0; i < n; i++)
{
scanf("%d.%d.%d.%d", &a, &b, &c, &d);
e = ((unsigned int)a << 24) + (b << 16) + (c << 8) + d;
//printf("%u\n",e);
if(e < mins)
mins = e;
if(e > maxs)
maxs = e;
}
unsigned int mask;
for (int i = 0; i <= 32; i++)
{
mask = ~((1ULL<<i)-1U);//注意这里ULL,是为了防止数据溢出
//printf("%u\n",mask);
if ((mins & mask) == (maxs & mask))
break;
}
unsigned int ans = mins & mask; printf("%u.%u.%u.%u\n", ans >> 24, (ans << 8) >> 24, (ans << 16) >> 24, (ans << 24) >> 24);
printf("%u.%u.%u.%u\n", mask >> 24, (mask << 8) >> 24, (mask << 16) >> 24, (mask << 24) >> 24); } return 0;
}

POJ 2799 IP Networks的更多相关文章

  1. [刷题]算法竞赛入门经典(第2版) 4-5/UVa1590 - IP Networks

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,0 ms) //UVa1590 - IP Networks #include<iost ...

  2. uva 1590 - IP Networks(IP地址)

    习题4-5 IP网络(IP Networks, ACM/ICPC NEERC 2005, UVa1590) 可以用一个网络地址和一个子网掩码描述一个子网(即连续的IP地址范围).其中子网 掩码包含32 ...

  3. IP Networks UVA - 1590

     Alex is administrator of IP networks. His clients have a bunch of individual IP addresses and he de ...

  4. OpenJudge/Poj 2105 IP Address

    1.链接地址: http://poj.org/problem?id=2105 http://bailian.openjudge.cn/practice/2105 2.题目: IP Address Ti ...

  5. Endless looping of packets in TCP/IP networks (Routing Loops)

    How endless looping of packets in a TCP/IP network might occur? Router is a device used to interconn ...

  6. ease of rerouting traffic in IP networks without readdressing every host

    https://en.wikipedia.org/wiki/Network_address_translation In the face of the foreseeable global IP a ...

  7. UVA 1590 IP Networks JAVA

    题意:输入m代表接下来的数据个数,计算接下来输入数据的网络掩码,和最小网络地址. 思路:①子网掩码:先将数据转为二进制,判断从哪一位开始有数据不一样,记下下标index,则子网掩码是index的前面是 ...

  8. poj 2105 IP Address

    IP Address Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 18951   Accepted: 10939 Desc ...

  9. Uva 1590 IP Networks

    这道题目是一道关于IP地址的题目,要深入理解这道题需要有一定的网络基础. 这道题目我第一次做的时候虽然也AC了,但代码写的比较复杂,不够精炼.近期刚刚参加了网络方面的培训,在有一定知识的基础上,又重写 ...

随机推荐

  1. PHP面试题之设计模式

    设计模式是技术面试的时候难免会被问到的一个问题,特别会让你举例说明各种设计模式的使用场景. 使用设计模式可以减轻我们的工作量,优化我们的代码. 设计模式非常的多,这里介绍单例模式,工厂模式,组合模式, ...

  2. JS中如何使用Cookie

    1.关于JS设置Cookie的说明 在Javascript脚本里,一个cookie 实际就是一个字符串属性.当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称 ...

  3. ajax动态加入的元素不被jquerymobile渲染问题

    一:对于listview: $(‘ul’).listview(‘refresh’); 二:对于div或其他: $(‘allAddContent’).trigger( “create” );

  4. 如何使用VC++6.0发布程序(即release版本程序)

    大家都知道VC编译器默认生成debug版本的程序,但是debug版本程序无法运行在没有安装VC的电脑上, 这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行( ...

  5. AndroidUI 布局动画-点九PNG技术

    下面是正常情况与使用点9切图以后的效果对比: <Button android:id="@+id/button1" android:layout_width="fil ...

  6. linux 学习之九、Linux 磁盘与文件系统管理(1)

    原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem.php#filesys 查看文件系统参数命令 dumpe2fs 盘符地址 例: ...

  7. Unity UGUI 使用 CCTween 实现 打字效果

    最近闲来无事 就研究了下 打字效果的实现 结果发现很简单 直白了说是太简单了  下边效果图加代码 走着 增加可拖拽 脚本 (场景物体不支持 alpha 隐藏) 目前 CCAnim 封装了 move R ...

  8. 【每天一个Linux命令】14. Linux中locate命令的用法

    命令用途 locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案. 其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了. ...

  9. Swift应用开源项目推荐

    1. 风靡全球的2048 2014年出现了不少虐心的小游戏,除了名声大噪的Flappy Bird外,最风靡的应该就是2048了.一个看似简单的数字叠加游戏,却让玩的人根本停不下来,朋友圈还一度被晒分数 ...

  10. 提交时提示错误This Bundle is invalid.New apps and app updates submitted to the App Store must be built wit

    this bundle is invalid . new apps and app updates submitted to the app store must be built with publ ...