模拟题 I
来源:互联网 发布:java 静态单例模式 编辑:程序博客网 时间:2024/06/10 06:26
题意:
给出m个ip地址
求救网络地址和掩码
网络地址:一个ip地址用4个8位来表示,即32位,找m个ip地址中,ip地址相应位相同那么网络地址就是ip地址相应位,否则就是0
掩码:同理,只是若ip地址相应位都相同,那么掩码相应位是 1 否则是 0
求解这两个数据即可
题解:
模拟
注意初始化问题
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int a[50],b[50];char str[50];int main(){ int n,m; freopen("ip.in","r",stdin); freopen("ip.out","w",stdout); //freopen("in.txt","r",stdin); while(scanf("%d",&m)!=EOF) { n=33; memset(b,0,sizeof(b)); for(int k=1;k<=m;k++) { memset(a,0,sizeof(a)); int num=0,flag=1,p; scanf("%s",str); int len=strlen(str); for(int i=0;i<=len;i++){ if(str[i]<='9'&&str[i]>='0') num=num*10+str[i]-'0'; else{ p=flag*8; flag++; while(num) { a[p--]=num%2; num/=2; } num=0; } } if(k==1){ for(int i=1;i<=32;i++) b[i]=a[i]; continue; } for(int i=1;i<=32;i++){ if(b[i]!=a[i]){ n=min(n,i); break; } } } int t1[5],t2[5]; memset(t1,0,sizeof(t1)); memset(t2,0,sizeof(t2)); for(int i=1;i<=8;i++){ if(i<n){ t1[0]=t1[0]*2+a[i]; t2[0]=t2[0]*2+1; } else{ t1[0]=t1[0]*2; t2[0]=t2[0]*2; } } //______________________________________// for(int i=9;i<=16;i++){ if(i<n){ t1[1]=t1[1]*2+a[i]; t2[1]=t2[1]*2+1; } else{ t1[1]=t1[1]*2; t2[1]=t2[1]*2; } } //______________________________________// for(int i=17;i<=24;i++){ if(i<n){ t1[2]=t1[2]*2+a[i]; t2[2]=t2[2]*2+1; } else{ t1[2]=t1[2]*2; t2[2]=t2[2]*2; } } //______________________________________// for(int i=25;i<=32;i++){ if(i<n){ t1[3]=t1[3]*2+a[i]; t2[3]=t2[3]*2+1; } else{ t1[3]=t1[3]*2; t2[3]=t2[3]*2; } } for(int i=0;i<4;i++) printf("%d%c",t1[i],i!=3?'.':'\n'); for(int i=0;i<4;i++) printf("%d%c",t2[i],i!=3?'.':'\n'); } return 0;}
阅读全文
0 0
- 模拟题 I
- G - Train Problem I(模拟题)
- I'm stuck! ccf模拟题。
- i/o 模拟IIC
- python 模拟登录i
- NEFU 2016省赛演练一 I题 (模拟题)
- hdoj 2816 I Love You Too 【模拟题】
- 16/4/17NEFU训练 I 这题没名字 模拟题
- I/O 模拟串口通信
- hdu 4608 I-number 模拟
- hdu 4608 I-number 模拟
- Gym 100499I (数学 模拟)
- 【模拟试题】Scout YYF I
- hihocoder 1257 Snake Carpet 模拟构造题||2015北京现场赛I题
- HDU 4119Isabella's Message2011成都现场赛I题(字符串模拟)
- LA6578 Trending Topic (2013-2014 ACM-ICPC Southwestern Europe Regional Contest I题) 模拟
- OJ期末刷题 Problem I: C/C++经典程序训练3---模拟计算器
- Codeforces 2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest I题(模拟)
- 485. Max Consecutive Ones
- 腾讯直播——推流SDK(Android)
- python操作Mongodb数据库
- HDU 4574 Bombs DFS
- Cef3:vs2015开发环境搭建
- 模拟题 I
- 35. Search Insert Position
- c++邻接矩阵存储图
- hibernate缓存详解
- ubuntu之系统目录含义
- 从API中获取数据(七)
- 新手学习python一些记录
- 继承(三)--友元与继承&&静态成员与继承
- java代码调用oracle存储过程