codevs3285轉圈遊戲

2022-02-13 10:06:22 字數 1116 閱讀 5352

2023年noip全國聯賽提高組

時間限制: 1 s

空間限制: 128000 kb

題目等級 : 鑽石 diamond

題解n 個小夥伴(編號從 0 到 n-1)圍坐一圈玩遊戲。按照順時針方向給 n 個位置編號,從0 到 n-1。最初,第 0 號小夥伴在第 0 號位置,第 1 號小夥伴在第 1 號位置,……,依此類推。

遊戲規則如下:每一輪第 0 號位置上的小夥伴順時針走到第 m 號位置,第 1 號位置小夥伴走到第 m+1 號位置,……,依此類推,第n - m號位置上的小夥伴走到第 0 號位置,第n-m+1 號位置上的小夥伴走到第 1 號位置,……,第 n-1 號位置上的小夥伴順時針走到第m-1 號位置。

現在,一共進行了 10^k 輪,請問 x 號小夥伴最後走到了第幾號位置。

輸入描述 input description

輸入共 1 行,包含 4 個整數 n、m、k、x,每兩個整數之間用乙個空格隔開。

輸出描述 output description

輸出共 1 行,包含 1 個整數,表示 10^k 輪後 x 號小夥伴所在的位置編號。

樣例輸入 sample input

10 3 4 5

樣例輸出 sample output

資料範圍及提示 data size & hint

對於 30%的資料,0 < k < 7; 

對於 80%的資料,0 < k < 10^7; 

對於 100%的資料,1 < n < 1,000,000,0 < m < n,1 <= x <=n,0 < k < 10^9。

【思路】快速冪

定義重變數gg

【code】

#include#include

#include

using

namespace

std;

intnn,m,k,x;

long

long fast_mod(int n,int

p) now=now*now;

now%=nn;

p>>=1

; }

return

ans;

}int

main()

1617 轉圈遊戲

n 個小夥伴 編號從 0 到 n 1 圍坐一圈玩遊戲。按照順時針方向給 n 個位置編號,從 0 到 n 1。最初,第 0 號小夥伴在第 0 號位置,第 1 號小夥伴在第 1 號位置,依此類推。遊戲規則如下 每一輪第 0 號位置上的小夥伴順時針走到第 m 號位置,第 1 號位置小夥伴走到第 m 1 號...

NOIP 2013 轉圈遊戲

題目描述 description n 個小夥伴 編號從 0 到 n 1 圍坐一圈玩遊戲。按照順時針方向給 n 個位置編號,從0 到 n 1。最初,第 0 號小夥伴在第 0 號位置,第 1 號小夥伴在第 1 號位置,依此類推。遊戲規則如下 每一輪第 0 號位置上的小夥伴順時針走到第 m 號位置,第 1...

NOIP2013 轉圈遊戲

1 轉圈遊戲 circle.cpp c pas 問題描述 n 個小夥伴 編號從 0 到 n 1 圍坐一圈玩遊戲。按照順時針方向給 n 個位置編號,從 0 到 n 1。最初,第 0 號小夥伴在第 0 號位置,第 1 號小夥伴在第 1 號位置,依此類 推。遊戲規則如下 每一輪第 0 號位置上的小夥伴順時...