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

【题意】

在这里输入题意

【题解】

假设从第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. phoenixframe自己主动化測试平台对div弹出框(如弹出的div登陆框)的处理

    package org.phoenix.cases; import java.util.LinkedList; import org.phoenix.action.WebElementActionPr ...

  2. hdoj--1518--Square(dfs)

    Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  3. md5的用处

    MD5保存摘要及指纹信息 md5的用处: 1.保存用户密码2.校验数据的完整性

  4. (Go)08.time示例

    package main import ( "fmt" "time" ) func test() { ) } func main() { now := time ...

  5. nodejs windows环境安装

    相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼.有关nodejs的相关资料网上已经铺天盖地.由于它的高并发特性,造就了其特殊的应用地位. 国内目前关注最高,维护 ...

  6. 8.19noip模拟题

      2017 8.19 NOIP模拟赛 by coolyangzc 共3道题目,时间3小时 题目名 高级打字机 不等数列 经营与开发 源文件 type.cpp/c/pas num.cpp/c/pas ...

  7. 强迫症!一行代码拿到url特定query的值

    简单的说一下背景,看到小伙伴给我发的项目中有一段获取当前url特定query值的代码,本着能写1行代码就不写5行代码的原则,我把这个获取方法给改了一下 之前的代码如下: const queryArr ...

  8. POJ 2553 Tarjan

    题意:如果v点能到的所有点反过来又能到v点,则v点是sink点,排序后输出所有的sink点. 思路:Tarjan缩点,输出所有出度为0的连通块内的点. PS:一定要记得把数组清零!!!!!!!否则自己 ...

  9. ACM_鸡兔同笼(二元一次方程)

    鸡兔同笼 Time Limit: 2000/1000ms (Java/Others) Problem Description: 今有雉兔同笼,上有n头,下有m足,问雉兔各几何? Input: 输入有多 ...

  10. JDK介绍

    Java的版本最开始是1995年的JDK Alpha and Beta版本,第二年发布JDK1.0版本之后就是JDK1.1,JDK1.2.到1998年,不再叫JDK了,而是叫J2SE,但是版本号还是继 ...