【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

假设从第i位开始有不一样的。
那么就把i+1..32位全都置0.
掩码的话类似。前i为全为1,后面32-i位全0.
尽量让后面的连续0(等于掩码最后的0的个数)晚一点出现。
这样网络表示的范围比较小(可供变化的范围比较小)。

【代码】

#include <bits/stdc++.h>
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
using namespace std; const int N = 1e3; int n;
string ips[N+10]; string get_format(string s){
string temp = "";
int x = 0;
rep1(i,1,32){
x = x*2+(s[i-1]-'0');
if (i%8==0){
string temp1 = "";
if (x==0) temp1 = "0";
while (x>0){
temp1 =(char)(x%10+'0')+temp1;
x/=10;
}
temp = temp + temp1;
if (i<32) temp+=".";
}
}
return temp;
} int main(){
//freopen("/home/ccy/rush.txt","r",stdin);
// freopen("/home/ccy/rush_out.txt","w",stdout);
ios::sync_with_stdio(0),cin.tie(0);
while (cin >> n){
rep1(i,1,n){
ips[i]="";
string s;
cin >> s;s+=".";
int x= 0;
rep1(j,0,(int)s.size()-1){
if (s[j]=='.'){
string temp = "";
rep1(k,1,8){
int temp1 = x%2;
temp = (char)(temp1+'0')+temp;
x/=2;
}
ips[i]+=temp;
x = 0;
}else{
x = x*10+s[j]-'0';
}
}
//cout<<ips[i]<<endl;
}
string ans1 = "";
string ans2 = "";
for (int i = 0;i < 32;i++){
int ok = 1;
rep1(j,1,n)
if (ips[j][i]!=ips[1][i])
ok = 0;
if (ok){
ans1 = ans1 + ips[1][i];
ans2 = ans2 + "1";
}else{
rep1(j,i,31) {
ans1+="0";
ans2+="0";
}
break;
}
}
//cout<<ans1<<endl;
//cout<<ans2<<endl;
cout<<get_format(ans1)<<endl;
cout<<get_format(ans2)<<endl;
}
return 0;
}

【习题 4-5 Uva1590】 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. UVA 1590 IP Networks JAVA

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

  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

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

  8. POJ 2799 IP Networks

    network address是前(32-n)随意 后n位全零 network mask是前(32-n)全一 后n位全零 本题主要利用位移操作,1ULL表示无符号长整型的常数1,这样写可防止不必要的溢 ...

  9. 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等

    http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...

随机推荐

  1. jquery.validate.js插件的使用方法

    近期做项目.须要用到 jQuery.validate.js插件,于是记录一下工作中的一些经验,以便日后学习. [样例例如以下] 1.前台页面 <form id="form1" ...

  2. SpringMVC + MyBatis 配置文件

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...

  3. 【POJ 1456】 Supermarket

    [题目链接] http://poj.org/problem?id=1456 [算法] 贪心 + 堆 [代码] #include <algorithm> #include <bitse ...

  4. B2460 [BeiJing2011]元素 线性基

    这个题是对刚才线性基的一个补充,就是中间有一些小贪心,贪心就很有意思,先按权值排序,然后就瞎搞就行了. 题干: Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们 ...

  5. Java 8 实战 P1 Fundamentals

    目录 Chapter 1. Java 8: why should you care? Chapter 2. Passing code with behavior parameterization Ch ...

  6. Js:弹窗剧中

    js变量设置 var iWidth = $(window).width() * 0.9; var iHeight = $(window).height() * 0.9; - iHeight) / ; ...

  7. Phoenix与Squirrel 是什么?

    不多说,直接上干货! 前言 Phoenix是HBase的开源SQL引擎. squirrel是windows上Phoneix可视化工具.  Phoenix的官网 http://phoenix.apach ...

  8. 如何正确从windows系统(自己电脑)远程访问Linux系统(他人电脑)的mysql数据库(图文详解)

    这里,需要Linux系统开了root用户,我这给root用户密码为root.     同时,在mysql -uroot -proot执行进去之后 update user setHost='%' whe ...

  9. python--6、logging模块

    logging 可用的日志级别: debug 10 info 20 warning 30 error 40 critical 50 logging默认参数: 默认日志级别是warning. 默认情况日 ...

  10. 苹果双系统win8.1遇到的一些问题

    MacBook air是一款不错的电脑,详细没研究就不叙述好与坏了.只此记录自己使用这款笔记本遇到的问题. 一.安装双系统win8.1 1.下载镜像文件—>拷贝到ios内存中,一个8GU盘.ht ...