A - 士兵队列训练问题
代码如下:
#include<iostream> using namespace std; int main() { int n,h,i,j,k; int a[5002]={0}; cin>>n; while(n--) { cin>>h; k=h; for(i=1;i<=h;i++) a[i]=i; while(k>3) { j=0; for(i=1;i<=h;i++) { if(a[i]==0) continue; else j++; if(j==2) { a[i]=0; j=0; } } k-=k/2; if(k<=3) break; j=0; for(i=1;i<=h;i++) { if(a[i]==0) continue; else j++; if(j==3) { a[i]=0; j=0; } } k-=k/3; } for(i=1;i<=h;i++) { if(a[i]==0) continue; else { k--; if(k>0) printf("%d ",a[i]); else printf("%d\n",a[i]); } } } return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步