1 条题解
-
0
C :
#include <stdio.h> #define MAX 105 int main() { int n,m; int len; int data[MAX]; int a,i,x,xx,nn=0; while(scanf("%d,%d",&n,&m)!=EOF) { len=n; for(i=1;i<=n;i++) { data[i]=i; } x=0; xx=0; if(nn) printf("\n"); else nn=1; while(len!=1) { a=0; for(i=1;i<=len;i++) { x++; if(x==m) { if(xx) printf(" "); else xx=1; printf("%d",data[i]); x=0; continue; } data[++a]=data[i]; } len=a; } printf(" %d",data[1]); } return 0; }
C++ :
#include <bits/stdc++.h> using namespace std; int main() { //freopen("F:\\TestFiles\\test.in","r",stdin); //freopen("F:\\TestFiles\\test2.out","w",stdout); int n,m; while(~scanf("%d,%d",&n,&m)){ int a[105]; memset(a,0,sizeof(a)); int num=0; int i=0,j=0; queue<int> q; while(num<n){ i++; if (a[i]==0){ j++; if (j==m){ a[i]=1; j=j%m; if (i>0) q.push(i); else q.push(n); num++; } } i=i%n; } int kk=0; while(q.size()){ if (kk) printf(" "); else kk=1; printf("%d",q.front()); q.pop(); } printf("\n"); } return 0; }
- 1
信息
- ID
- 832
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者