去年暑假无聊做的 题
洛谷上是没有数据滴
突发奇想,上其他站测了一下
竟然AC了
Code
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n,m,k1,k2,minn=10,a[16],b[16];
scanf("%d%d",&n,&m);
if(n<=32&&m<=32)
{
if(n==1||n==2)
k1=2,a[0]=1,a[1]=128;
if(m==1||m==2)
k2=2,b[0]=1,b[1]=128;
if(n==3||n==4)
k1=2,a[0]=64,a[1]=65;
if(m==3||m==4)
k2=2,b[0]=64,b[1]=65;
if(n>=5&&n<=8)
k1=4,a[0]=32,a[1]=33,a[2]=96,a[3]=97;
if(m>=5&&m<=8)
k2=4,b[0]=32,b[1]=33,b[2]=96,b[3]=97;
if(n>=9&&n<=16)
k1=8,a[0]=16,a[1]=17,a[2]=48,a[3]=49,a[4]=80,a[5]=81,a[6]=112,a[7]=113;
if(m>=9&&m<=16)
k2=8,b[0]=16,b[1]=17,b[2]=48,b[3]=49,b[4]=80,b[5]=81,b[6]=112,b[7]=113;
if(n>=17&&n<=32)
k1=16,a[0]=8,a[1]=9,a[2]=24,a[3]=25,a[4]=40,a[5]=41,a[6]=56,a[7]=57,a[8]=72,a[9]=73,a[10]=88,a[11]=89,a[12]=104,a[13]=105,a[14]=120,a[15]=121;
if(m>=17&&m<=32)
k2=16,b[0]=8,b[1]=9,b[2]=24,b[3]=25,b[4]=40,b[5]=41,b[6]=56,b[7]=57,b[8]=72,b[9]=73,b[10]=88,b[11]=89,b[12]=104,b[13]=105,b[14]=120,b[15]=121;
for(int i=0;i<k1;i++)
{
for(int j=0;j<k2;j++)
{
for(int k=0;k<8;k++)
{
if(ceil(a[i]/(double)(pow(2,k)))==ceil(b[j]/(double)(pow(2,k)))&&a[i]!=b[j]&&k<minn)
minn=k;
}
}
}
printf("%d",minn);
}
if(n>32||m>32)
printf("1");
}
不知道为什么对
求证明或证伪
给数据HACK也行
不是我不想写注释
是真的想不起来了