2645.cpp

来自「自己的ac代码 在acm.zju.edu.cn 上的题目」· C++ 代码 · 共 52 行

CPP
52
字号
#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 + =
减小字号Ctrl + -
显示快捷键?