질문 C: 턴 게임

질문 C: 턴 게임
시간 제한: 1 Sec  메모리 제한: 128 MB  
제목 설명
n 명의 동료 (번호 0 부터 n - 1 까지) 가 한 바퀴 둘 러 앉 아 게임 을 한다.시계 방향 으로 n 개의 위치 번 호 를 주 고 0 에서 n - 1 까지 입 니 다.처음에 0 번 파트너 는 0 번 자리 에 있 었 고 1 번 파트너 는 1 번 자리 에 있 었 다.
게임 규칙 은 다음 과 같다. 매 라운드 0 번 위치 에 있 는 파트너 는 시계 방향 으로 m 번 위치 로 가 고 1 번 위치 에 있 는 파트너 는 m + 1 번 위치 로 간다.n - 1 번 자리 에 있 는 동료 가 시계 방향 으로 m - 1 번 자리 로 간다.
지금 모두 10k 진행 되 었 습 니 다. 라운드, 말씀 좀 여 쭙 겠 습 니 다. x 번 친구 가 마지막 에 몇 번 째 자리 에 도 착 했 습 니까?
입력
총 1 줄 을 입력 하 십시오. 4 개의 정수 n, m, k, x 를 포함 하고 두 개의 정수 사 이 를 하나의 빈 칸 으로 구분 합 니 다.
 
30% 의 데이터 에 대해 0
80% 의 데이터 에 대해 0
100% 데이터 에 대해 1
 
 
출력
출력 총 1 줄, 정수 1 개 포함, 10k 표시 라운드 후 x 번 파트너 가 있 는 위치 번호.
샘플 입력
10 3 4 5

샘플 출력
5
#include
using namespace std;
int n,m,k,x;
int ksm(int a,int b)
{
    int r=1;
    while(b)
    {
        if(b&1){
            r*=a%n;
            r%=n;
        }
        a*=a%n;
        a%=n;
        b>>=1;//               1 
    }
    return r%n;
}
int main()
{
    cin>>n>>m>>k>>x;
    int y=ksm(10,k);
    //cout<

좋은 웹페이지 즐겨찾기