文件详细信息

下载本文件

本文件的大小为 1253 字节。

#include<cstdio>
int read(){
	int ch=getchar(),num=0;
	while(ch<48||ch>57)ch=getchar();
	while(ch>=48&&ch<=57)num=(num<<3)+(num<<1)+(ch^48),ch=getchar();
	return num;
}
int t,n,nn,k,k2,minus,_2s,_2t,_46s,_46t,_98s,_98t,_114s,_114t;
inline void print_2(int i){
	putchar('2');
	if(i!=n)putchar(' ');
	else putchar('\n');
}
inline void print_46(int i){
	putchar('4');
	putchar('6');
	if(i!=n)putchar(' ');
	else putchar('\n');
}
inline void print_98(int i){
	putchar('9');
	putchar('8');
	if(i!=n)putchar(' ');
	else putchar('\n');
}
inline void print_114(int i){
	putchar('1');
	putchar('1');
	putchar('4');
	if(i!=n)putchar(' ');
	else putchar('\n');
}
int main(){
	t=read();
	register int i;
	while(t--){
		n=read(),k=read();
		nn=(n*(n-1))>>1,k2=nn-k;
		if(k2<0){
			puts("No");
		}else{
			_2s=_46s=_98s=1;
			_2t=_46t=_98t=-1;
			_114s=n+1;
			_114t=n;
			puts("Yes");
			minus=n-1;
			while(minus>0&&k2>=minus){
				_114s--;
				k2-=minus;
				minus--;
			}
			if(k2>0){
				_98s=k2+2;
				_98t=_114s-1;
				_46s=_46t=_98s-1;
				_2t=_46s-1;
			}else{
				_2t=_114s-1;
			}
			for(i=_2s;i<=_2t;i++)print_2(i);
			for(i=_46s;i<=_46t;i++)print_46(i);
			for(i=_98s;i<=_98t;i++)print_98(i);
			for(i=_114s;i<=_114t;i++)print_114(i);
		}
	}
	return 0;
}