📄 2645.cpp
字号:
#include<stdio.h>
int s[1005][20];
unsigned int a[1005],b,mask,net;
int main()
{
int i,j,k;
int n;
j=33;
i=1<<j;
i=1<<33;
while(scanf("%d",&n)!=EOF)
{
int a1,a2,a3,a4;
for(i=1;i<=n;i++)
{
scanf("%d.%d.%d.%d",&a1,&a2,&a3,&a4);
a[i]=((a1*256+a2)*256+a3)*256+a4;
}
int maxn=0;
int c,d;
for(i=1;i<=n;i++)
{
b=a[i]^a[1];
c=0;d=1;
for(j=1;j<=32;j++)
{
if(b&d )c=j;
d<<=1;
}
if(c>maxn)maxn=c;
}
mask=0;net=(1<<maxn);if(maxn==32)net=0;//不加这句不知道为什么出错了
for(i=0;i<32;i++)
{
mask=mask | (net<<i);
}
net=mask& a[1];
printf("%d.%d.%d.%d\n",(net>>24)&255,(net>>16)&255,(net>>8)&255,(net>>0)&255);
printf("%d.%d.%d.%d\n",(mask>>24)&255,(mask>>16)&255,(mask>>8)&255,(mask>>0)&255);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -