标签:人工智 身体 clu class ted 斐波那契数列 rop void list
米兔爸爸为了让小米兔好好锻炼身体,便给小米兔设置了一个挑战——跳格子。
要吃到自己心爱的胡萝卜,小米兔需要跳过面前一些格子。现有 NN 个格子,每个格子内都写上了一个非负数,表示当前最多可以往前跳多少格,胡萝卜就放在最后一个格子上。米兔开始站在第 1 个格子,试判断米兔能不能跳到最后一个格子吃到胡萝卜呢?
输入为 NN 个数字 (N \lt 10N<10),用空格隔开,第 ii 个数字 s_isi? (0 \le s_i \lt 100≤si?<10) 表示米兔站在第 ii 个格子上时,最多能往前跳的格数。
若米兔能跳到最后一个格子上吃到胡萝卜,输出 “true“,否则输出 “false“
2 0 1 0 0 3 4
复制样例
false
1 def solution(line): 2 ans = [0 for i in range (30)] 3 ln = len(line) 4 for i in range (ln): 5 for j in range(1, line[i] + 1): 6 ans[i + j] = 1 7 for i in range(1, ln): 8 if ans[i] == 0: 9 print(‘false‘) 10 return 11 print(‘true‘) 12 13 14 an = list(map(int, input().strip().split())) 15 solution(an)
小爱和小冰是一对好闺蜜,她们都是世界上最聪明的人工智能之一。某一天,他们俩一起玩数数字游戏,规则如下:
现在两人各说一个目标数字后请你判断谁会赢。如果小爱赢则输出"Xiaoai Win"
,反之小冰赢输出"Xiaobing Win"
。两人都很聪明,都会使用最优策略(每次报数是最优的)。
规定:斐波那契数列F(1)=1,F(2)=2,F(N)=F(N-1)+F(N-2)F(1)=1,F(2)=2,F(N)=F(N−1)+F(N−2)
两个正整数,用空格隔开,分别表示小爱和小冰的目标数字num1num1,num2num2。
数据范围:num1,num2 < =10000num1,num2<=10000
输出 "Xiaoai Win" 或 "Xiaobing Win",分别表示小爱赢或小冰赢。
1 4 3 4 4 4 1 5
复制样例
Xiaoai Win Xiaoai Win Xiaobing Win Xiaobing Win
博弈论,sg函数
1 #include<stdio.h> 2 #include<string.h> 3 #define N 10005 4 5 int f[N],sg[N],hash[N]; 6 void getSG(int n) 7 { 8 int i,j; 9 memset(sg,0,sizeof(sg)); 10 for(i=1;i<=n;i++) 11 { 12 memset(hash,0,sizeof(hash)); 13 for(j=1;f[j]<=i;j++) 14 hash[sg[i-f[j]]]=1; 15 for(j=0;j<=n;j++) //求mes{}中未出现的最小的非负整数 16 { 17 if(hash[j]==0) 18 { 19 sg[i]=j; 20 break; 21 } 22 } 23 } 24 } 25 int main() 26 { 27 int i,m,n,p; 28 f[0]=f[1]=1; 29 for(i=2;i<=21;i++) 30 f[i]=f[i-1]+f[i-2]; 31 getSG(10001); 32 while(scanf("%d%d",&m,&n)!=EOF) 33 { 34 35 if((sg[m]^sg[n])==0) 36 printf("Xiaobing Win\n"); 37 else 38 printf("Xiaoai Win\n"); 39 } 40 return 0; 41 }
最后一题还没写......
标签:人工智 身体 clu class ted 斐波那契数列 rop void list
原文地址:https://www.cnblogs.com/zllwxm123/p/10177857.html