Codeforces Round 966 (Div. 3)-A-D超详细题解(C++,Python)

        本文主要是题A到题D的详细思路和解法,如果觉得有帮助或者写的还不错可以点个赞

        个人觉得D的题解写的比较详细

本次比赛题目链接:Dashboard - Codeforces Round 966 (Div. 3) - Codeforces

目录

题目A

题目B

题目C

题目D


题目A:

Problem - A - Codeforces

题目大意解析和解题思路:

题目大意就是一个人写下了一个数字,这个数字是10^x次方的形式,但是"^"这个符号忘记写了,然后就写成一串了,已知底数是10,然后指数大于2,然后判断这个数字是否可能是他写下来的数字

比如

100,不是,因为指数小于2

1004,不符合书写条件

1010,105,是的,满足条件

2033,不满足底数是10的条件

将输入的数字转换成字符串就行了,然后满足上面条件的字符串

长度必须大于等于3,然后第一位必须是1,第二位必须是0,如果长度等于三位,那第三位必须大于等于2,如果长度大于三位,那么第一位不能为0

嗯...很好理解的逻辑

代码(C++):

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
 
    int tt;
    cin >> tt;
    while (tt--) {
        string s;
        cin >> s;
        if (s.size() < 3) {
            cout << "NO\n";
            continue;
        }
        if (s[0] != '1' || s[1] != '0') {
            cout << "NO\n";
            continue;
        }
        if (s.size() == 3 && s[2] < '2' || s.size() > 3 && s[2] == '0') {
            cout << "NO\n";
            continue;
        }
        cout << "YES\n";
    }
    
    return 0;
}

代码(Python):

def main():
    t = II()
    res = []
    for _ in range(t):
        s = input()
        r = 1
        if len(s) < 3:
            res.append("NO")
            continue
        if s[0] != '1' or s[1] != '0':
            res.append("NO")
            continue
        if (len(s) == 3 and s[2] < '2') or (len(s) > 3 and s[2] == '0'):
            res.append("NO")
            continue
        res.append("YES")
    
    for r in res:
        print(r)

题目B:

Problem - B - Codeforces

题目大意解析和解题思路:

题目可以理解依次上车,座位就是一列,然后有一个规则,就是上车的人必须前面或者后面有人

都有人也行(这种情况出现的前提是前面有人违规),然后给你一个数组,从前到后依次表示第一个人到最后一个人选择的位置,判断是否都按规则来了

用哈希表模拟就行了,遍历一遍数组,然后不断加入新元素x,判断x - 1或者 x + 1是否在哈希表中即可

代码(C++):

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
 
    int tt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值