Codeforces Round #640 (Div. 4) 题解

博客主要解析了Codeforces Div. 4比赛中的7道题目,包括题意概述、数据范围、题解和代码实现。涉及的题目类型包括数论、组合优化、模拟等,适合初学者练习。
摘要由CSDN通过智能技术生成

CF出div4了,我的青春结束了

第一场div4的话就我的体验来说前面几道比较偏模拟,后面几道比较偏构造思维,个人体验还行

(注意:由于还未终测所以代码不保证正确性,AB以外的题没写题意简述)

本文同步发布于个人博客

A. Sum of Round Numbers

题意简述

T T T组数据,给你一个数字 n n n,要你用最少的round number表示出 n n n,round number意思是最左边不为 0 0 0,其他都为 0 0 0的数字,其实就是 k ⋅ 1 0 x k\cdot 10^x k10x这样

数据范围

1 ≤ t ≤ 1 0 4 , 1 ≤ n ≤ 1 0 4 1\leq t\leq 10^4,1\leq n\leq 10^4 1t104,1n104


题解

很显然,直接把每位拆开来就行,我的写法是在计算第 k k k位数是几的同时维护一下base,意思是现在的数需要乘base


代码
int T,n;
vector<int> a;
int main()
{
   
    cin>>T;
    while(T--)
    {
   
        cin>>n;
        int ans=0;a.clear();
        int base=1;
        while(n)
        {
   
            if(n%10!=0) 
            {
   
                a.push_back((n%10)*base);
                ans++;
            }
            n/=10;
            base*=10;
        }
        cout<<ans<<endl;
        for(int i=0;i<a.size();i++) cout<<a[i]<<" ";
        cout<<endl;
    }
    return 0;
}

B. Same Parity Summands

题意简述

T T T组数据,给定 n n n k k k,求 n n n可不可以被 k k k个奇数或者 k k k个偶数表示,可以输出YES,否则输出NO

数据范围

1 ≤ t ≤ 1000 , 1 ≤ n ≤ 1 0 9 , 1 ≤ k ≤ 100 1\leq t\leq 1000,1\leq n\leq 10^9,1\leq k\leq 100 1t1000,1n109,1k100


题解

首先 k k k个同奇偶性的数其实取多大都不会影响性质,我取了 k − 1 k-1 k1个偶数,最后是偶数那就成立,奇数也一样,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值