Example : UVa 847 - A Multiplication Game ( Recurrence ) analysis : if n->[ 1,9 ] , x9 ,StanWin if n->[ 10,18 ] , x2 x9 , StanLose if n->[ 19,162 ] , x9 x2 x9 , StanWin if n->[ 19,36 ] , x2 x2 x9 ( 2 x 9 < 19 ) if n->[ 37,54 ] , x3 x2 x9 ( 3 x 9 < 37 ) if n->[ 55,72 ] , x4 x2 x9 ( 4 x 9 < 55 ) if n->[ 73,90 ] , x5 x2 x9 ( 5 x 9 < 73 ) . . . if n->[ 144,162 ] , x9 x2 x9 ( 9 x 9 < 144 ) if n->[ 163,324 ] , x2 x9 x2 x9, StanLose if n->[ 163,252 ] whatever first p->[ 2,9 ] , Ollie can make second p ->[ 14,18 ] , So Stan can't win in third step ( 18 x 9 < 163 ) , p->[ 28,36 ] , x7 x2 x2 x9 ( 7 x 2 x 9 < 163 ) if n->[ 253,324 ] whatever first p->[ 2,9 ] , Ollie can make second p ->[ 18,28 ] , So Stan can't win in third step ( 28 x 9 < 253 ) , p->[ 36,56 ] , x2 x9 x2 x9 ( 2 x 9 x 9 < 253 ) . . .
1 #include<stdio.h> 2 int main(void){ 3 int n,p,StanWin; 4 while(scanf("%d",&n)!=EOF){ 5 StanWin=0; 6 p=1; 7 while(1){ 8 p*=9; 9 if(p>=n){ 10 StanWin=1; 11 break; 12 } 13 p*=2; 14 if(p>=n) 15 break; 16 } 17 if(StanWin) 18 printf("Stan wins.\n"); 19 else 20 printf("Ollie wins.\n"); 21 } 22 return 0; 23 }
|
|
|
随笔:0
文章:2
评论:0
引用:0
| | 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|
| 31 | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | | 21 | 22 | 23 | 24 | 25 | 26 | 27 | | 28 | 29 | 30 | 1 | 2 | 3 | 4 | | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|
常用链接
留言簿
文章档案
搜索
最新评论

|
|