标签:style blog color io for sp div log 代码
1 #include<stdio.h> 2 #define maxn 20 3 int a[maxn+5], n; 4 5 int go( int p,int d,int t ) 6 {// printf("a[%d]=%d\n",p,a[p]); 7 while( t-- ) 8 { //该题的核心所在 9 do{ 10 p = (p+d+n-1) % n +1; 11 }while( a[p] == 0 ); 12 } 13 return p; 14 } 15 16 int main() 17 { 18 int k, m, p1, p2; 19 while( scanf("%d%d%d",&n, &k, &m) == 3 ) 20 { 21 for( int i=1; i<=n; i++ ) a[i] = i;//位置初始化 22 printf("\n"); 23 p1 = 0, p2 = n; 24 int left=n; 25 26 while(left) 27 {//printf("a[p1]=%d,a[p2]=%d\t",a[p1],a[p2]); 28 p1 = go( p1, 1,k ); 29 p2 = go( p2, -1,m ); 30 a[p1] = a[p2] = 0; 31 32 //printf("p1=%d p2=%d\n\n",p1,p2); 33 34 printf("%3d",p1); left--; 35 if( p1 != p2 ) { printf("%3d",p2); left--; } 36 if(left) printf(","); 37 } 38 printf("\n"); 39 } 40 return 0; 41 }
本题让我体会到,acm不是简简单单的编程。每行代码都要经过思考才能写下去。
笔算是必须要经历的,先要在纸上写好核心的算法(思路)才能开始码代码。
正题:本体其实就是搜索的一种,将已查过的数标0来使搜索跳过而不用死板的去删去存储空间
另外 p = (p+d+n-1) % n +1; 完成了我自己五行代码完成的任务值得学习,写核心算法前一定要注意思考!!!!!
标签:style blog color io for sp div log 代码
原文地址:http://www.cnblogs.com/qq523861610/p/4047209.html