• Codeforces Round 908 (Div 2——AB)


    A. Secret Sport

    题目

     AB二人玩游戏,每一局(plays)游戏会有一个获胜者,首先获胜X局(play)的玩家得一分(赢得一轮sets)。率先获得Y分的玩家获得最终胜利。

    给你整场游戏的每局(plays)获胜情况,在不知道X和Y的情况下,判断游戏的获胜者。

    (英语阅读做了多半个小时o(╥﹏╥)o)

    输入

    首行测试样例数t,1 \leq t \leq 10^{4}

    每个样例首行,局数(plays)n,1 \leq n \leq 20

    第二行长度为n的字符串s,每个字符由A或B组成,代表每局的获胜者

    输出

    每个样例的游戏获胜者,A或B

    解析

    plays数最大为20,故可通过枚举的方式试错X和Y。另外一种解决方式是个脑筋急转弯,对于这样一个样例“ABBAA”,倒着看,最后一局胜者是A,且游戏结束。那么此局(play)过后,A在当前轮次(set)获胜,即获胜X个plays。同样因为此set过后游戏结束,故当前set获胜者一定积累了Y个set分。

    代码

    1. for t in range(int(input().strip())):
    2. n = int(input().strip())
    3. s = input().strip()
    4. print(s[-1])

    B.Two Out of Three

    题目

     给定数组a,找到一个只包含1,2和3元素的数组b,使其满足且只满足以下三个条件中的两个:

    1、存在1 \leq i, j \leq n,使得a_{i} = a_{j}b_{i} = 1b_{j} = 2

    2、存在1 \leq i, j \leq n,使得a_{i} = a_{j}b_{i} = 1b_{j} = 3

    3、存在1 \leq i, j \leq n,使得a_{i} = a_{j}b_{i} = 2b_{j} = 3

    输入

    首行测试样例数t,1 \leq t \leq 500

    每组样例首行,数组a的长度n,1 \leq n \leq 100

    第二行数组a,1 \leq a_{i} \leq 100

    输出

    满足条件的数组b,如误解输出-1

    解析

     三个条件是等价的,满足任两个即可。假设满足(1,2)和(1,3),数组a只需保证有两个不同的数字出现次数在两次以上既能满足要求。假设有两个数字x和y满足这个要求,只需a_{i} = x -> b_{i} = 2a_{i} = y -> 3。这样不会有(2,3)的冲突

    代码

    1. N = 110
    2. def solve():
    3. n = int(input().strip())
    4. a = list(map(int, input().strip().split()))
    5. b = [1] * n
    6. inds = [list() for i in range(N)]
    7. for i in range(n):
    8. inds[a[i]].append(i)
    9. k = 2
    10. for x in range(1, 101):
    11. if len(inds[x]) >= 2:
    12. b[inds[x][0]] = k
    13. k += 1
    14. if k > 3:
    15. break
    16. if k <= 3:
    17. print(-1)
    18. else:
    19. for i in b:
    20. print(i, end=" ")
    21. print()
    22. for t in range(int(input().strip())):
    23. solve()

  • 相关阅读:
    企业微信开发教程一:添加企微应用流程图解以及常见问题图文说明
    电子技术基础(三)__第7章 时序逻辑电路_第7篇之解题方法与步骤
    LeetCode中等题之统计一个圆中点的数目
    2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 思路及代码实现(持续更新中)
    C语言的标准函数库:断言库assert.h
    Virtio-user使用简介
    Unity2D - 状态机(State Machine)详解
    ElasticSearch的安装
    Python学习----网络编程
    智能自修复防腐涂层研究进展综述
  • 原文地址:https://blog.csdn.net/qq_41500251/article/details/134336479