标签:条件 scan 不能 指定 ati 赋值 存在 参数传递 \n
段错误
竞赛题目
#include<stdio.h> #define maxn 25 int n,k,m,a[maxn]; //逆时针走t步,步长为d 返回新位置 int go(int p,int d,int t) { while(t--) { do { //前面减去1??? p=(p+d+n-1)%n+1; //注意这里经过的数字是步数加一! 因此会有最后的+1; } while(a[p]==0); } return p; } int main() { while(scanf("%d%d%d",&n,&k,&m)) { for(int i=1;i<=n;i++) a[i]=i; int left=n; int p1=n,p2=1; while(left) { p1=go(p1,1,k); p2=go(p2,-1,m); printf("%3d",p1);left--; if(p2!=p1) { printf("%3d",p2); left--; } a[p1]=a[p2]=0; if(left) printf(","); } printf("\n"); } return 0; }
标签:条件 scan 不能 指定 ati 赋值 存在 参数传递 \n
原文地址:https://www.cnblogs.com/xuwanwei/p/10753888.html