📄 1136418_ac_90ms_24k.cpp
字号:
#include<stdio.h>
int a[4],b[4],c[4];
int sn;
int find_diff(int n)
{
int p=128,i=0;
while(n<p)p/=2,i++;
return i;
}
int change(int n)
{
int p=128,sum=0;
while(n--)sum+=p,p/=2;
return sum;
}
int main()
{
int i,j,st,t,cn;
scanf("%d",&cn);
scanf("%d.%d.%d.%d",&a[0],&a[1],&a[2],&a[3]);
sn=32;
for(i=1;i<cn;i++)
{
scanf("%d.%d.%d.%d",&b[0],&b[1],&b[2],&b[3]);
st=0;
for(j=0;j<4;j++)
if(t=a[j]^b[j],t==0)st+=8;
else
{
st+=find_diff(t);
break;
}
if(st<sn)sn=st;
}
for(i=0;i<4;i++)
{
if(sn>=8)sn-=8,c[i]=255;
else
{
c[i]=change(sn);
sn=0;
}
}
printf("%d.%d.%d.%d\n",a[0]&c[0],a[1]&c[1],a[2]&c[2],a[3]&c[3]);
printf("%d.%d.%d.%d\n",c[0],c[1],c[2],c[3]);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -