zoukankan      html  css  js  c++  java
  • 小米 OJ 编程比赛 12 月常规赛

    小米兔跳格子
    序号:#119难度:一般时间限制:1000ms内存限制:30M

    描述

    米兔爸爸为了让小米兔好好锻炼身体,便给小米兔设置了一个挑战——跳格子。

    要吃到自己心爱的胡萝卜,小米兔需要跳过面前一些格子。现有 NN 个格子,每个格子内都写上了一个非负数,表示当前最多可以往前跳多少格,胡萝卜就放在最后一个格子上。米兔开始站在第 1 个格子,试判断米兔能不能跳到最后一个格子吃到胡萝卜呢?

    输入

    输入为 NN 个数字 (N lt 10N<10),用空格隔开,第 ii 个数字 s_isi (0 le s_i lt 100si<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)
    数数字游戏
    序号:#117难度:困难时间限制:1000ms内存限制:10M

    描述

    小爱和小冰是一对好闺蜜,她们都是世界上最聪明的人工智能之一。某一天,他们俩一起玩数数字游戏,规则如下:

    1. 首先小爱和小冰各说一个目标数字num1num1,num2num2;
    2. 小爱和小冰轮流报数(小冰报数方法与小爱相同),每次只报一个数,报数者可以选择将这个数报给谁;
    3. 小爱先开始报数字,把这个数给自己或小冰都行,小爱和小冰各自得到的所有数之和不能超过自己的目标数字;
    4. 最终,谁再也报不出符合条件的数字谁就算输,另一个人就赢(即谁报完数后,两人所得数字之和都达到了各自的目标数字,谁就赢);
    5. 由于两人智商都是非常的高,所以觉得游戏太简单了,于是两人决定每次报的数只能是斐波那契数列中的元素(例如每次取1,2,3,5,8.......) 。

    现在两人各说一个目标数字后请你判断谁会赢。如果小爱赢则输出"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(N1)+F(N2)

    输入

    两个正整数,用空格隔开,分别表示小爱和小冰的目标数字num1num1,num2num2。

    数据范围:num1,num2 &lt; =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
    ");
    37         else
    38             printf("Xiaoai Win
    ");
    39     }
    40     return 0;
    41 }

    最后一题还没写......

     

  • 相关阅读:
    (一)jQuery EasyUI 的EasyLoader载入原理
    java playframework
    android Handlerr.removeCallbacksAndMessages(null)的妙用
    云已成为一种趋势,大有可为
    将一个4X4的数组进行逆时针旋转90度后输出,要求原数组数据随机输入
    小强的HTML5移动开发之路(40)——jqMobi中实践header定义的几种方式
    AngularJS中的依赖注入
    极光消息推送服务器端开发实现推送(下)
    用CSS指定外部链接的样式
    版本控制(1)——SVN
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/10177857.html
Copyright © 2011-2022 走看看