c暂存

szz123 / 2024-11-17 / 原文

#include<stdio.h>


double dfs(double n, double n1, double n2, double x)
{
	if (n < (n1 + x) && n< (n2 + x)&& n >0 ) return n;

	double ret1 = dfs(n - (n1 + x), n1, n2, x);
	double ret2 = dfs(n - (n2 + x), n1, n2, x);
	return (ret1 < ret2?ret1 : ret2);
}

int main() {
	double n;
	double n1, n2, m, x;

	int t;
	scanf("%d", &t);
	while (t--)
	{
		scanf("%lf %lf %lf %lf %lf", &n, &n1, &n2, &m, &x);
		n -= m * (n1 + n2 + x + x);
		if (n<0)
		{
			printf("-1\n");
			continue;
		}

		printf("%.1f\n", dfs(n, n1, n2, x));

	}

}
#include<stdio.h>
#define N 1e-10
int isTriangle(double a, double b, double c)
{
	if (a + b > c && a + c > b && b + c > a)
		return 1;
	else return 0;

}

int type1(double a, double b, double c)
{
	if (a == b && b == c) return 1;
	else if (a == b || b == c || a == c) return 2;
	else return 3;
}
int type2(double a, double b, double c)
{
	if (a == b && b == c) return 1;
	else if (a == b || b == c || a == c) return 2;
	else return 3;
}
int main() {
	double a, b, c;
	while (scanf("%lf %lf %lf", &a, &b, &c) == 3)
	{
		if (a < 1 || a>100 || b < 1 || b>100 || c < 1 || c>100)
		{
			printf("Can't form a triangle.\n");
			continue;
		}
		if (!isTriangle(a, b, c))printf("error\n");
		else
		{
			int ret = type1(a, b, c);
			if (ret == 1)printf("equilateral\n");
	     	else if (ret == 2)printf("isosceles\n");
			else  printf("general\n");
		}
	}
}