B. Dalgona Treat

题意: 求n个平方数相加得到一个完全平方数,数的种类不能超过10

Solution: n2=(n2)21+22(n1)n^2=(n-2)^2*1+2^2*(n-1)

小于3的情况特判直接输出。注意n=4n=4的时候,有n2=2n-2=2,同样特判处理

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int t;
int n;
int main()
{
	cin >> t;
	while(t--)
	{
		cin >> n;
		if(n == 1) puts("1\n1 1");
		else if(n == 2) puts("2\n3 1\n4 1");
		else if(n == 4) puts("1\n1 4");
		else
		{
			printf("2\n2 %d\n", n - 1);
			printf("%d 1\n", n - 2);
		}
	}
	return 0;
}