zoukankan      html  css  js  c++  java
  • 泉州一中复赛模拟

            1.实数加法(realadd.pas/cpp/c)【问题描述】

    来啊同学们互相伤害。

    mxy 给大家找了点事做。

    大家都知道,实数加法是一件令人非常苦恼的事情,因为总存在着各种精度问题。mxy为了伤害大家,构造了两个实数,需要大家求出这两个实数的精确的和。

    为了减轻大家的负担,mxy 构造的实数都是正数。具体的,输入和输出中出现的实数都满足如下的形式:

    P1P2...Pi.Q1Q2...Qj。 对于整数部分,P1P2...Pi是一个非负整数;对于小数部分,至少有一位且最后一位 Qj 不等于 0。
    注意两个实数的整数位数不一定相同,小数位数也不一定相同。
    【输入】
    2 行,分别是两个加数。每个加数不超过 91 个字符。
    数据保证行末没有空格。
    【输出】
    一行输出是相应的和。数据保证答案一定是一个小数部分不为 0 的实数。
    【输入输出样例】
    realadd.in realadd.out
    22.08
    11.12
    33.2
    【数据规模】
    对 30%的数据: 每个实数,小数位数 ≤ 5, 整数位数 ≤ 5
    对 60%的数据: 每个实数,小数位数 ≤ 20,整数位数 ≤ 20
    对 100%的数据: 每个实数,小数位数 ≤ 45,整数位数 ≤ 4



              2.骰子(dice.pas/cpp/c)

    【问题描述】
    来啊同学们互相伤害。mxy 给大家找了点事做。
    首先,mxy 有无限个骰子,展开图如下:
    mxy 用 p 个骰子垒成一列(1*1*p),这列骰子的总点数 n 为侧面点数和上下底上的点数
    的和,然后 mxy 将这一列骰子直接推散。重复若干次后,mxy 发现自己在做一件很无聊的事
    情(才发现啊),于是 ta 决定让这个事情有趣一些。
    于是现在,mxy 随机报出一个总点数 n,然后让你算出是否能用最少的骰子叠成这样的
    一列。如果可以,输出最少骰子数。如果不行,输出“-1”。
    【输入】
    第一行一个整数 T,表示有 T 组数据。
    接下来 T 行,一行一个整数 n,表示总点数。(1 ≤ n ≤ 1000000)
    【输出】
    T 行,一行一个整数表示答案。
    【输入输出样例】
    dice.in dice.out
    3
    21
    29
    40
    1
    -1
    2
    【数据规模】
    对 30%的数据: 1 ≤ T ≤ 5
    对 60%的数据: 1 ≤ T ≤ 100
    对 100%的数据: 1 ≤ T ≤ 100000



    3.砖块
    (brick.pas/cpp/c)
    【问题描述】
    来啊同学们互相伤害。mxy 给大家找了点事做。
    现在 mxy 有一排砖,每块要么是白色的(0),要么是黑色的(1)。mxy 想把这排砖分成
    若干非空段,使得每段白砖和黑砖块数的比例相同。
    当然,mxy 可以直接把整排砖作为一段,那就太简单了。为了增加难度,mxy 想知道最
    多能分成多少段,例如:
    100011 = 10 + 0011(即样例 1,最多分成 2 段,比例为 1:1);
    0001110000000001 = 0001 + 11000000 + 0001(即样例 2,最多分成 3 段,比例为
    3:1)。
    mxy 百思不得其解,希望你帮帮 ta。
    【输入】
    第一行包含一个整数 N。我们将用 N 行来描述这排砖,初始时这排砖为空。
    接下来 N 行,每行包含用一个空格隔开的两个整数 Ki 和 Ci, Ci 只可能是 0 或 1,表
    示在上一行描述完后尾部又有了 Ki 块颜色为 Ci 的砖。
    注意可能有连续行的 Ci 为同一个数。
    【输出】
    一行包含一个整数,表示最多能分成的段数。
    【输入输出样例】
    brick.in brick.out
    3
    1 1
    3 0
    2 1
    2
    4
    3 0
    3 1
    9 0
    1 1
    3
    【数据规模】
    对于 30%的数据, N = 1。
    对于 60%的数据, 所有 Ki 均相等。
    对于 100%的数据, 1 ≤ N ≤ 100000,1≤ Ki ≤ 1000000000,砖的总块数不超过
    1000000000。



    4.扫雷
    (mine.pas/cpp/c)
    【问题描述】
    来啊同学们互相伤害。mxy 给大家找了点事做。
    mxy 发现一中操场中有 n 个地雷,一旦碰触其中一个就会爆炸,且没法单独排雷。唯
    一的排雷方法是同时排可以成为一个平行于坐标轴的正方形的四个角的四个地雷。为了大
    家的安全,现在 ta 希望你能排掉最多的雷。
    【输入】
    第一行包含一个整数 t,表示数据组数。
    接下来 t 组数据。
    每组数据的第一行包含一个整数 n。
    接下来 n 行,每行包含两个整数 x,y,表示一个地雷的坐标。
    【输出】
    t 行,每行包含一个整数,表示能排掉的最多地雷数。
    【输入输出样例】
    mine.in mine.out
    2
    3
    1 1
    0 0
    2 2
    8
    0 0
    1 0
    2 0
    0 1
    1 1
    2 1
    10 1
    10 0
    0
    4
    【数据规模】
    对于 30%的数据: 1 ≤ n ≤ 12;
    对于 60%的数据: 1 ≤ n ≤ 16;
    对于 100%的数据: 1 ≤ n ≤ 20,0 ≤ x,y ≤ 100,1 ≤ t ≤ 10。


  • 相关阅读:
    [BZOJ1193][HNOI2006]马步距离 大范围贪心小范围爆搜
    [BZOJ2223][BZOJ3524][Poi2014]Couriers 主席树
    [BZOJ1069][SCOI2007]最大土地面积 凸包+旋转卡壳
    旋转卡壳 求凸多边形中面积最大的四边形
    [BZOJ2815][ZJOI2012]灾难 灭绝树+拓扑排序+lca
    [BZOJ2599][IOI2011]Race 点分治
    [BZOJ1455]罗马游戏 左偏树+并查集
    [BZOJ1295][SCOI2009]最长距离 最短路+枚举
    [LintCode] Climbing Stairs
    [Codeforces] MultiSet
  • 原文地址:https://www.cnblogs.com/gc812/p/6064406.html
Copyright © 2011-2022 走看看