【习题 4-5 Uva1590】 IP Networks
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
假设从第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的更多相关文章
- [刷题]算法竞赛入门经典(第2版) 4-5/UVa1590 - IP Networks
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,0 ms) //UVa1590 - IP Networks #include<iost ...
- uva 1590 - IP Networks(IP地址)
习题4-5 IP网络(IP Networks, ACM/ICPC NEERC 2005, UVa1590) 可以用一个网络地址和一个子网掩码描述一个子网(即连续的IP地址范围).其中子网 掩码包含32 ...
- IP Networks UVA - 1590
Alex is administrator of IP networks. His clients have a bunch of individual IP addresses and he de ...
- UVA 1590 IP Networks JAVA
题意:输入m代表接下来的数据个数,计算接下来输入数据的网络掩码,和最小网络地址. 思路:①子网掩码:先将数据转为二进制,判断从哪一位开始有数据不一样,记下下标index,则子网掩码是index的前面是 ...
- 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 ...
- 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 ...
- Uva 1590 IP Networks
这道题目是一道关于IP地址的题目,要深入理解这道题需要有一定的网络基础. 这道题目我第一次做的时候虽然也AC了,但代码写的比较复杂,不够精炼.近期刚刚参加了网络方面的培训,在有一定知识的基础上,又重写 ...
- POJ 2799 IP Networks
network address是前(32-n)随意 后n位全零 network mask是前(32-n)全一 后n位全零 本题主要利用位移操作,1ULL表示无符号长整型的常数1,这样写可防止不必要的溢 ...
- 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等
http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...
随机推荐
- jquery.validate.js插件的使用方法
近期做项目.须要用到 jQuery.validate.js插件,于是记录一下工作中的一些经验,以便日后学习. [样例例如以下] 1.前台页面 <form id="form1" ...
- SpringMVC + MyBatis 配置文件
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...
- 【POJ 1456】 Supermarket
[题目链接] http://poj.org/problem?id=1456 [算法] 贪心 + 堆 [代码] #include <algorithm> #include <bitse ...
- B2460 [BeiJing2011]元素 线性基
这个题是对刚才线性基的一个补充,就是中间有一些小贪心,贪心就很有意思,先按权值排序,然后就瞎搞就行了. 题干: Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们 ...
- Java 8 实战 P1 Fundamentals
目录 Chapter 1. Java 8: why should you care? Chapter 2. Passing code with behavior parameterization Ch ...
- Js:弹窗剧中
js变量设置 var iWidth = $(window).width() * 0.9; var iHeight = $(window).height() * 0.9; - iHeight) / ; ...
- Phoenix与Squirrel 是什么?
不多说,直接上干货! 前言 Phoenix是HBase的开源SQL引擎. squirrel是windows上Phoneix可视化工具. Phoenix的官网 http://phoenix.apach ...
- 如何正确从windows系统(自己电脑)远程访问Linux系统(他人电脑)的mysql数据库(图文详解)
这里,需要Linux系统开了root用户,我这给root用户密码为root. 同时,在mysql -uroot -proot执行进去之后 update user setHost='%' whe ...
- python--6、logging模块
logging 可用的日志级别: debug 10 info 20 warning 30 error 40 critical 50 logging默认参数: 默认日志级别是warning. 默认情况日 ...
- 苹果双系统win8.1遇到的一些问题
MacBook air是一款不错的电脑,详细没研究就不叙述好与坏了.只此记录自己使用这款笔记本遇到的问题. 一.安装双系统win8.1 1.下载镜像文件—>拷贝到ios内存中,一个8GU盘.ht ...