貪食蛇1

 avatar
user_3763047219
c_cpp
2 years ago
1.1 kB
4
Indexable
int main()
{
	int X[1000]={};
	int Y[1000] = {};
	int num;
	scanf("%d", &num);
	for (int i = 2;i < num+1; i++) {
		for (int j = 0;j < i+(i-1);j++) {
			if (i % 2 == 0) {
				if (j <= i - 2) {
					X[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = j + 1;
				}
				else {
					X[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = i;
				}
			}
			else {
				if (j < i) {
					X[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = i;
				}
				else {
					X[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = i - (j-(i-1));
				}
			}
		}
	}

	for (int i = 2;i < num+1; i++) {
		for (int j = 0;j < i + (i - 1);j++) {
			if (i % 2 != 0) {
				if (j <= i - 2) {
					Y[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = j + 1;
				}
				else {
					Y[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = i;
				}
			}
			else {
				if (j < i) {
					Y[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = i;
				}
				else {
					Y[(1 + i - 1) * (i - 1) / 2 * 2 - (i - 1) + j] = i - (j - (i - 1));
				}
			}
		}
	}

	printf("%d\t%d\t", X[num-1], Y[num-1]);
}
Editor is loading...