LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
Osnove
Tvoj Prvi ProgramTipovi podataka, Unos i IzlazC++ sintaksaModuloFunkcijeVektoriMatriceVremenska Složenost Algoritma
Sortiranje
SortiranjeSortiranje PrebrojavanjemRadix Sort
Tehnike Optimizacije
Dva PokazivačaZbir brojeva od 1 do nZbir PrefiksaBinarna PretragaPohlepni AlgoritmiFunkcije Binarne Pretrage
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad Bitovima
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo Sito
Strukture Podataka
Niske (Stringovi)StekRed
Dinamičko Programiranje
O DP-uDP problemi

Josifov problem

EasyProblem #27
VremeMemorijaUlazIzlaz
1 s64 MBstdinstdout

Đaci označeni brojevima od 0 do n−1 sede u krugu i igraju se razbrajalice. Brojanje kreće od đaka 0 i ide ukrug; svaki m-ti đak ispada iz igre, a brojanje se nastavlja od sledećeg. Tvoj zadatak je da odrediš koji đak ostaje poslednji.

Ulaz

U prvoj liniji ulaza je jedan ceo broj t - broj test primera.
U svakoj od sledećih t linija su dva cela broja n i m - broj đaka i dužina brojalice.

Izlaz

Za svaki test primer ispiši u posebnoj liniji broj poslednjeg preostalog đaka.

Primer

Input
2
8 3
2 2
Output
6
0

U prvom test primeru đaci ispadaju redosledom 2,5,0,4,1,7,3 i ostaje đak 6. U drugom, brojanje 0,1 izbacuje đaka 1, pa ostaje đak 0.

Ograničenja

1≤t≤100
2≤n≤5000
2≤m≤n
n1​+n2​+…+nt​≤5000


Zadatak je, uz dozvolu, preuzet iz zadatka Josifov problem, čiji su autori Društvo matematičara Srbije i Fondacija Petlja.

Pošalji svoje rešenje

Prijavi se da pošalješ rešenje i pratiš svoj napredak.

Prijavi se