士兵队列训练问题
Description
Input
Output
Sample Input
Sample Output
#include<stdio.h> int a[5000]; int main(){ int n; scanf("%d", &n); while(n--){ int x, i, t, m, flag=0; scanf("%d", &x); for(i=0; i<x; i++) a[i] = i+1; m = x; while(m>3){ m = x; if(flag) t=3; else t=2; int p=0; for(i=0; i<x; i++){ if(a[i]==0) continue; else if((p+1)%t != 0) { p++; continue; } else { a[i]=0; p++; } } for(i=0; i<x; i++) if(a[i]==0) m--; flag = !flag; } int b[4], z=0; for(i=0; i<x; i++) if(a[i]!=0) b[z++] = a[i]; for(i=0; i<m; i++) i==0? printf("%d", b[0]) : printf(" %d", b[i]); printf("\n"); } return 0; }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步