站外题
  • 板块学术版
  • 楼主5evene1even
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/1/12 10:41
  • 上次更新2023/10/24 04:38:13
查看原帖
站外题
735196
5evene1even楼主2023/1/12 10:41

去年暑假无聊做的

洛谷上是没有数据滴

突发奇想,上其他站测了一下

竟然AC了

CodeCode

#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");
}

不知道为什么对

求证明或证伪

给数据HACKHACK也行

不是我不想写注释

是真的想不起来了

2023/1/12 10:41
加载中...