求助
查看原帖
求助
640961
yttr1um楼主2022/2/23 17:12

vs和洛谷都过不了,但逻辑上好像没问题

#include <stdio.h>

int train[10000], m, tc = 0, rc;
void dchange(int* ptr_1, int* ptr_2)
{
	int i = *ptr_1;
	*ptr_1 = *ptr_2;
	*ptr_2 = i;
}

int main(void)
{
	scanf("%d", &m);
	for (int i = 0; i < m; i++)
		scanf("%d", &train[i]);
	for (int b = 1; b < m; )
	{
		rc = m - 1;
		for (int c = rc; c > 0; c--)
		{
			if (train[c - 1] - train[c] == b)
			{
				dchange(&train[c - 1], &train[c]);
				for (int a = 0; a < m; a++)
					printf("%d", train[a]);
				printf("\n");
				tc++;
			}
		}
		if (rc != m - 1)
			b = 1;
		else
			b++;
	}
	printf("%d", tc);
	return 0;
}
2022/2/23 17:12
加载中...