CCFCSP 201712-2 游戏

it2026-08-23  2

思路:直接模拟过程,用vis[i]表示第i个人是不是被淘汰了。用now表示当前的报数。 如果当前vis[i]==0 说明没被淘汰,然后判断是否要被淘汰,报数值now要加1

#include<bits/stdc++.h> using namespace std; const int N=1<<10; bool vis[N]; int main(){ int n,k;cin>>n>>k; int num=n,now=1; while(num>1){ for(int i=1;i<=n&&num>1;i++){ if(!vis[i]){ if(now%10==k || now%k==0){ vis[i]=1; num--; } ++now; } } } for(int i=1;i<=n;i++) if(!vis[i]) cout<<i; return 0; }
最新回复(0)