Descrição do Problema
Existem m alunos na Escola Secundária Afiliada da Academy of Peking University, e eles sempre tomam muitas decisões democraticamente. De acordo com as regras de procedimento de Robert, um moderador é necessário. Os alunos têm um forte senso de democracia e grande entusiasmo. Todos querem ser moderadores. Claro, há apenas um moderador. Para selecionar o anfitrião, eles pensaram em uma maneira e acharam muito democrática. O método é:
todos formam um círculo e numeram cada aluno de 1 a m. Então comece a contar de 1 e conte até n eliminados. O restante dos alunos começa da posição inferior e depois começa a contar a partir de 1. A última coisa que resta é o anfitrião. Agora que você numerou os colegas de 1 am e concordou em relatar o número de eliminados com n, programe e calcule qual colega se tornará o anfitrião.Formato de entrada
Uma linha, dois inteiros mn separados por espaços.
Formato de saída
Um número inteiro que representa o número do host
Entrada de amostra
15 3
Saída de amostra
5
Entrada de amostra
200 55
Saída de amostra
93
Tamanho de dados e convenção
10000> m> 0; 100> n> 0; o
limite de tempo é 1,0 segundo
#include <iostream>
using namespace std;
int main()
{
int m,n;
while(cin >> m >> n){
int a[10001];
for(int i = 1; i <= m; i++){
a[i] = i;
}
int c = 0;
int count = m;
while(count > 1){
for(int i = 1; i <= m; i++){
if(a[i] != -1){
c++;
}
if(c == n){
c = 0;
a[i] = -1;
count--;
if(count == 1)
break;
}
}
}
for(int i = 1; i <= m; i++){
if(a[i] != -1){
cout << a[i] << endl;
}
}
}
return 0;
}