C语言不知道为啥还有一个测试点没过
查看原帖
C语言不知道为啥还有一个测试点没过
593001
Langrange2021楼主2022/5/28 18:29
#include <stdio.h>
int main()
{
	int x, n,r,d,mile;
	scanf("%d %d", &x, &n);
	if (n == 0)
	{
		printf("0");
	}
	r = n / 7;
	d = n % 7;
	switch (x)
	{
	case 1:
		if (d <= 5)
		{
			mile = d * 250 + r * 5 * 250;
			printf("%lld", mile);
		}
		else if (d >= 5 && d <= 7)
		{
			mile = (r + 1) * 5 * 250;
			printf("%lld", mile);
		}
		break;
	case 2:
		if (d <= 4)
		{
			mile = d * 250 + r * 5 * 250;
			printf("%lld", mile);
		}
		else if (d > 4 && d <= 6)
		{
			mile = 4 * 250 + r * 5 * 250;
			printf("%lld", mile);
		}
		else if (d == 7)
		{
			mile = (r + 1) * 5 * 250;
			printf("%lld", mile);
		}
		break;
	case 3:
		if (d <= 3)
		{
			mile = d * 250 + r * 5 * 250;
			printf("%lld", mile);
		}
		else if (d > 3 && d <= 5)
		{
			mile = 3 * 250 + r * 5 * 250;
			printf("%lld", mile);
		}
		else if (d > 5&&d <= 7)
		{
			mile = 3 * 250 + r * 5 * 250 + (d - 5) * 250;
			printf("%lld", mile);
		}
		break;
	case 4:
		if (d <= 2)
		{
			mile = d * 250 + r * 5 * 250;
			printf("%lld", mile);
		}
		else if (d > 2 && d <= 4)
		{
			mile = 500 + r * 5 * 250;
			printf("%lld", mile);
		}
		else if (d > 4 && d <= 7)
		{
			mile = 500 + r * 5 * 250 + (d - 4) * 250;
			printf("%lld", mile);
		}
		break;
	case 5:
		if (d == 1)
		{
			mile = 250 + r * 250 * 5;
			printf("%lld", mile);
		}
		else if (d > 1 && d <= 3)
		{
			mile = 250 + r * 250 * 5;
			printf("%lld", mile);
		}
		else if (d > 3 && d<= 7)
		{
			mile = 250 + r * 5 * 250 + (d - 3) * 250;
			printf("%lld", mile);
		}
		break;
	case 6:
		if (d <= 2)
		{
			printf("%lld", r * 5 * 250);
		}
		else if (d > 2)
		{
			mile = (d - 2) * 250 + r * 5 * 250;
			printf("%lld", mile);
		}
		break;
	case 7:
		if (d == 1)
		{
			printf("%lld", r * 5 * 250);
		}
		else if (d >= 2 && d <= 6)
		{
			mile = (d - 1) * 250 + r * 250 * 5;
			printf("%lld", mile);
		}
		else if (d == 7)
		{
			mile = (r + 1) * 5 * 250;
			printf("%lld", mile);
		}
		break;
	}
	return 0;

}
2022/5/28 18:29
加载中...