士兵队列训练问题
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; }