求助全WA
查看原帖
求助全WA
487383
imnoob楼主2024/9/28 10:48

rt

#include <bits/stdc++.h>
#define Code using
#define by namespace
#define zzx std;
Code by zzx;
long long n;
long long a, b, c, d;
int main()
{
	scanf("%lld", &n);
	while(n--)
	{
		scanf("%lld %lld %lld %lld", &a, &b, &c, &d);
		if(a == c && b == d)
		{
			printf("0\n");
			continue;
		}
		if(a * b < c * d)
		{
			printf("-1\n");
			continue;
		}
		int cnt = 1, s = 1, flag = 1;
		long long r = a * b;
		while(r >= 2 * c * d)
		{
			if(r <= 2)
			{
				printf("-1\n");
				flag = 0;
				break;
			}
			r = r / 2 + 1;
		}
		if(flag == 0)
		{
			continue;
		}
		r = a * b;
		printf("65\n");
		printf("1 %lld\n", a);
		while(r >= c * d * 2)
		{
			++cnt;
			printf("%d %lld\n", s + 1, r / 2 + 1);
			r = r / 2 + 1;
			s ^= 1;
		}
		if(s)
		{
			printf("2 %lld\n", c * d);
			printf("1 %lld\n", d);
		}
		else
		{
			printf("1 %lld\n", c * d);
			printf("2 %lld\n", c);
		}
		cnt += 2;
		while(cnt <= 65)
		{
			++cnt;
			printf("1 1\n");
		}
	}
	return 0;
} 
2024/9/28 10:48
加载中...