以下為通過高中生程式解題系統 AC (Accepted) 的 C 語言程式參考解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <stdio.h> #include <stdlib.h> int main() { int N, M, K; int member[200000]={0}; scanf("%d %d %d",&N, &M, &K); if(N==(K+1)) { int final_m = 0; for(int n=1; n<=N; n++) { final_m=(final_m+M)%n; } printf("%d\n",final_m+1); } else{ for(int i=0; i<N ; i++) { member[i]=i+1; } int now=0; for(int i=0;i<K;i++){ now=(now+M-1)%N; for(int j=now; j<N-1; j++) { member[j]=member[j+1]; } N-=1; } printf("%d\n",member[now%N]); } return 0; } |
沒有留言:
張貼留言