#33493: NA 用陣列爆炸了 徒法煉鋼的方式


liuc7721 (Shin)

學校 : 國立竹東高級中學
編號 : 179484
來源 : [106.64.152.112]
最後登入時間 :
2025-10-11 23:50:49

這樣也NA... 求大神幫忙了

 

#include <iostream>
using namespace std;

int main() {
  int N,M,K;//N個人,第M個爆炸,爆炸K次
  int pivot = 0;//從0開始
  cin >> N >> M >> K;
  int A[N];
  for(int i=0; i<N; i++)
    A[i] = 0; //初始化

  while(K>0){
    //開始傳遞炸彈,第M個人爆炸
    for(int j=0; j<(M-1); j++){
      pivot++;
      if(pivot >= N)
        pivot -= N;
      if(A[pivot] == 1)
        j--;
    }
    A[pivot] = 1;

    
    pivot++; //淘汰者的下一個開始傳遞
    while(A[pivot]!=0){//若已爆炸,則再往下傳遞
      pivot++;
      if(pivot>=N)
        pivot-=N;
    }
    K--;
      
    if(K==0){
      cout << pivot+1; //幸運者
    }
  }
}