codeforces 560 div3 A. Remainder(模拟)

本文介绍了一种针对字符串模运算的优化算法,该算法能够快速判断一个字符串在去除前导零后的模10^y结果是否等于10^x。通过遍历字符串的特定部分并检查字符是否为'0'或'1',可以有效减少计算复杂度。

在这里插入图片描述

给定字符串,确定没有前置0,求使得字符串模10^y 之后剩余 10^x;

#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
int main()
{
    int n, x, y;
    string s;
    cin >> n >> x >> y >> s;
    int ans = 0;
    for(int i = n - x; i < n; ++i)
    {
        if(i == n - y - 1)
            ans += s[i] != '1';
        else
            ans += s[i] != '0';
    }
    cout << ans << endl;
    return 0;
}

### Codeforces Round 933 Div. 3 题目概述 Codeforces Round 933 (Div. 3) 是一场面向较低评级选手的比赛,通常包含多个不同难度级别的编程挑战。这类比赛旨在帮助新手提升算法技能并熟悉竞赛环境。 #### A. 奇偶数分组 在这个问题中,给出一系列整数,目标是将这些数字分成两部分——一部分只含奇数,另一部分仅存偶数。如果可以实现这样的划分,则输出 "YES"; 否则返回 "NO"[^1]。 ```cpp #include <bits/stdc++..h> using namespace std; int main() { int n; cin >> n; vector<int> a(n); bool has_odd = false, has_even = false; for(int i=0; i<n; ++i){ cin>>a[i]; if(a[i]%2==0)has_even=true; else has_odd=true; } cout<<(has_odd && has_even ? "YES\n":"NO\n"); } ``` 此代码片段展示了如何读取输入数据,并通过遍历数组中的每一个元素来检查是否存在至少一个奇数和一个偶数。 #### B. 数字游戏 参与者被给予了一个正整数 \(n\) 和另一个非负整数 \(k\) 。玩家的任务是从 \(n\) 开始连续减去 \(k\) ,直到结果变为零或更小为止。该过程记录下所有的中间值形成序列。询问最终得到的序列长度是多少?[未提供具体引用] ```cpp #include<bits/stdc++.++.h> using namespace std; int main(){ long long n,k; cin>>n>>k; int cnt=0; while(n>=0){ cnt++; n-=k; } cout<<cnt<<"\n"; } ``` 这段程序实现了上述逻辑,即不断减少 `n` 的值直至其变得不再大于等于零,并统计循环次数作为答案的一部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值