pku2156.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 41 行

CPP
41
字号
#include <stdio.h>
#include <memory.h>
#define SIZE 20010
int N, M, K, J;
int v[SIZE];

void Solve()
{
	int i, pos, NN;
	pos = 1;
	N++;
	NN = N;
	for (i = 0; i < K; i++)
	{
		pos = (pos + M - 2) % N + 1;
		v[i] = pos;
		N--;
	}
	for (i = K - 2; i >= 0; i--)
		if (v[i] <= pos)
			pos++;
	printf("%d ", pos);
	pos = 1;
	for (i = 1, N = NN; ; i++)
	{
		pos = (pos + M - 2) % N + 1;
		if (pos == J)
			break;
		if (pos < J)
			J--;
		N--;
	}
	printf("%d\n", i);
}

int main()
{
	while (EOF != scanf("%d %d %d %d", &N, &M, &K, &J))
		Solve();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?