XTOJ 1168 Alice and Bob (记忆化搜索)
2014-04-08 23:00
309 查看
OJ题目 : click here ~~
题意分析:给一个数n,Alice可取1,2 , 4 ……2的i次方 ,Bob可取1,3,9……3的i次方。Alice先取,后Bob。轮流来,每个人至少取1。求n变成0,至少需要取多少次。记忆化搜索 = 搜索 + dp 。
AC_CODE
题意分析:给一个数n,Alice可取1,2 , 4 ……2的i次方 ,Bob可取1,3,9……3的i次方。Alice先取,后Bob。轮流来,每个人至少取1。求n变成0,至少需要取多少次。记忆化搜索 = 搜索 + dp 。
AC_CODE
#define gril 0 #define boy 1 using namespace std; const int inf = 100000000; int A[20] , B[20]; int dp[10002][2]; bool Find(int n , int who) { if(who == gril) { for(int i = 0;i <= 14;i++) if(n == A[i]) return true; return false; } if(who == boy) { for(int i = 0;i <= 9;i++) if(n == B[i]) return true; return false; } } int dfs(int n , int who) { if(dp [who] != inf) return dp [who];//已经计算过,直接返回 if(who == gril)//判断此轮为男生还是女生,若为女生 { if(Find(n , gril)) return dp [gril] = 1; else { for(int i = 0;n - A[i] >=0 ;i++) dp [gril] = Min(dp [gril] , dfs(n - A[i] , boy) + 1); return dp [gril]; } } if(who == boy)//若为男生 { if(Find(n , boy)) return dp [boy] = 1; else { for(int i = 0;n - B[i] >= 0;i++) dp [boy] = Min(dp [boy] , dfs(n - B[i] , gril) + 1); return dp [boy]; } } } int main() { int i , j ; j = 1; A[0] = j; for(i = 1;i <= 14;i++) { j *= 2; A[i] = j; } j = 1; B[0] = j; for(i = 1;i <= 9;i++) { j *= 3; B[i] = j; } int t; scanf("%d",&t); while(t--) { for(int i = 0;i < 10002;i++) for(int j = 0;j < 2;j++) dp[i][j] = inf; int n; scanf("%d",&n); int ans = dfs(n , gril); printf("%d\n",ans); } return 0; }
相关文章推荐
- XTU OJ 1168 Alice and Bob (二维dp)
- XTU1168:Alice and Bob(二维DP)
- HDU-4111 Alice and Bob(博弈 + 记忆化搜索)
- HDU 4111 Alice and Bob 记忆化搜索
- hdu 4111 Alice and Bob 记忆化搜索 博弈论
- NYOJ 1053 Alice and Bob (N)
- ifrog-1028 Bob and Alice are playing numbers(trie树)
- ZOJ 3757 Alice and Bob and Cue Sports [模拟]
- NYOJ练习题 又见Alice and Bob
- 【题解】玲珑学院oj1087 Alice and Bob
- [CodeForces 346A]Alice and Bob[数学]
- 博弈——Alice and Bob
- [2013山东ACM省赛] Alice and Bob
- uva 1484 - Alice and Bob's Trip(树形dp)
- CodeForces 347 C. Alice and Bob
- ZOJ 3757 Alice and Bob and Cue Sports(模拟)
- ZOJ 3666 Alice and Bob
- UVALive 5088 Alice and Bob's Trip(树形DP)
- hdoj 3660 Alice and Bob's Trip(树dp)
- Sicily 13289. Alice and Bob