zoukankan      html  css  js  c++  java
  • 预赛第一场

    聪明的猴子

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 1123    Accepted Submission(s): 294


    Problem Description
    森林中有一排香蕉树(无限长),一只猴子站在其中一棵树上,猴子在跳跃前要先抽取一张卡片,卡片上写有A+1个自然数,其中最后一个是B,前A个数只能小于等于B,卡片上的数字可以相同。猴子每次跳跃先从卡片上任选一个自然数C,然后向左、或向右跳C棵树。猴子的任务是:跳到与它左边相邻的香蕉树上时,就可以吃掉上面的香蕉。

    例如,当A=2,B=4时,对于卡片(2, 3, 4),猴子就可以吃到香蕉:它可以先向左跳3棵树,再向右跳两棵树。而对于卡片(2, 2, 4),猴子则怎么也不可能跳到它左边相邻的香蕉树上。

    当确定A和B后,则一共可以有B^A张不同的卡片。问题是,在这所有的卡片中,有多少张可以让猴子完成任务。
     
    Input
    第1行k,表示有k组测试数据,k<=100
    第2至k+1行,每行两个自然数A和B,以一个空格分开 (A<= 10 , B <= 20)。
     
    Output
    共k行,每行的数字代表每组数据中,可以让猴子跳到它左边相邻香蕉树的卡片数。
     
    Sample Input
    3 2 3 4 8 5 13
     
    Sample Output
    8 3840 371292

    括号匹配

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2330    Accepted Submission(s): 862


    Problem Description
    描述 给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。
    如:
    []是匹配的
    ([])[]是匹配的
    ((]是不匹配的
    ([)]是不匹配的
     

    Input
    第一行输入一个正整数N,表示测试数据组数(N<=100)。
    每组测试数据都只有一行,是一个字符串S,S中只包含以上所说的四种字符,S的长度不超过100。
     

    Output
    对于每组测试数据都输出一个正整数,表示最少需要添加的括号的数量。每组测试输出占一行。
     

    Sample Input
    4 [] ([])[] ((] ([)]
     

    Sample Output
    0 0 3 2

    携程全球数据中心建设

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 725    Accepted Submission(s): 307


    Problem Description
    携程为了扩展全球在线旅游业务,决定在全球建设多数据中心,以便提高网站的访问速度和容灾处理。
    为了实现每个数据中心的数据能互通,数据中心之间需要通过光纤连接。为了节约光纤成本,我们计划采用点对点方式来达到最终各个数据中心的数据互通,每个数据中心本身都可以作为数据中转站。做为全球多数据中心设计者,您需要知道最短的光纤总长度,来把所有的数据中心都实现互通。假设地球是个圆球,且表面是平滑的,并且没有任何阻碍物(河流,山脉)。

    输入数据是一组数据中心的经纬度
    纬度: -90° 到 +90°
    经度: -180° 到 +180°
    (圆周率pi= 3.14159265358979323846)
     

    Input
    第一行第一个整数N(1≤N≤100),表示有多少个用例. 每个用例包含了:
    第一行,小数D(1≤D≤1,000,000),表面圆球的直径(公里).
    第二行,小数L(1≤L≤1,000,000) 光纤总长度 (公里).
    第三行,整数C(1≤C≤100) ,表示数据中心的数量.
    接下来的C行, 每行有2个形如"X Y"的小数,表示每个数据中心的纬度(-90≤X≤90)和经度 (-180≤Y≤180).
     

    Output
    每个用例输出一行. 如果光纤长度L足够连接所有数据中心,输出"Y", 否则输出"N"。
     

    Sample Input
    2 12742 5900 3 51.3 0 42.5 -75 48.8 3 12742 620 2 30.266 97.75 30.45 91.1333
     

    Sample Output
    Y N

    旋转的二进制

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 2119    Accepted Submission(s): 339


    Problem Description
    给定一个自然数M,及其二进制长度N,得到一个N位的二进制串
        b1 b2 ... bN-1 bN

    将该串做左旋转,即b1移到bN后面,得到一个新的二进制串:
        b2 b3 ... bN-1 bN b1

    对新的二进制串再做左旋转,得二进制串
        b3 b4 ... bN-1 bN b1 b2

    重复旋转操作操作,可得N个二进制串,对这N个串排序,可得一个N*N的矩阵.
    例如:
    1 0 0 0 1->0 0 0 1 1->0 0 1 1 0->0 1 1 0 0->1 1 0 0 0
    对它们做排序,得矩阵

        0 0 0 1 1
        0 0 1 1 0
        0 1 1 0 0
        1 0 0 0 1
        1 1 0 0 0  

    问:给出一个自然数M,及其二进制长度N,求出排序矩阵的最后一列。
    对于上面的例子,给出M=3,N=5,要你的程序输出10010。

    补充说明:存在自然数M的二进制表达超过N位的情况,在这种情况下,取前N次循环的二进制串排序后的最后一列即可。
     

    Input
    第一行有一个自然数K,代表有K行测试数据(K<=1000)。
    第二行至第K+1行,每行的第一个为自然数M,第二个为二进制长度N(N<64)。
     

    Output
    输出K行,每行N个二进制,表示矩阵最后一列从上到下的二进制。
     

    Sample Input
    3 3 5 4 7 1099512709120 45
     

    Sample Output
    10010 1000000 110000000000000000000000000000100000000000000
     
  • 相关阅读:
    Redis
    双向绑定篇
    Vue篇1
    css篇-页面布局-三栏布局
    css篇-简化版
    Promise篇
    几道JS代码手写面试题
    安全篇
    Vue篇
    跨域篇--JSONP原理
  • 原文地址:https://www.cnblogs.com/lyf123456/p/3662690.html
Copyright © 2011-2022 走看看