codeforces-305A Strange Addition

电力现货交易市场-报价方式 电是一种能源,也是一种商品,既然是商品自然可以在市场中进行自由交易。 阅读详情

题目链接:点击打开链接

之前一直理解错题意,以为两个数字里面任意一个数含有0就能相加,结果各种wa。。。

其实题目说的意思是两个数如果在任意十进制位至少有一个数含有0才可以相加,比如505和50可以相加(50可以看成050,在个十百位上505和050这两个数至少一方含有0),而50和25不能相加(在十位上两方都不含有0),理解清楚题意后直接暴力求解就可以了


#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const int inf=0x3f3f3f3f;
const int maxn=105;
int a[maxn];
int ans[maxn];
bool vis[maxn];

int main()
{
    int n;
    while(cin>>n)
    {
        memset(vis,false,sizeof vis);
        int maxpos=-1,low=inf;
        int num=0;
        for(int i=0;i<n;i++)
        {
            scanf("%d",a+i);
            int temp=a[i],t=0;
            while(temp)
            {
                temp/=10;
                t++;
            }
            maxpos=max(maxpos,t);
            if(a[i]==0)
            {
                ans[num++]=a[i];
                maxpos=max(maxpos,1);
                //low=min(low,1);
            }
        }
        //cout<<"maxpos="<<maxpos<<endl;
        for(int i=0;i<maxpos;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(vis[j]) continue;
                int temp=a[j];
                for(int k=0;k<i;k++)
                    temp/=10;
                if(temp!=0&&temp%10==0)
                {
                    temp/=10;
                    bool flag=true;
                    while(temp)
                    {
                        if(temp%10==0) { flag=false; break; }
                        temp/=10;
                    }
                    if(flag)
                    {
                        low=min(low,i+1);
                        ans[num++]=a[j];
                        vis[j]=true;
                        break;
                    }
                }
            }
        }
        //cout<<"low="<<low<<endl;
        if(num==0)
        {
            puts("1");
            printf("%d\n",a[0]);
            continue;
        }
        for(int i=0;i<n;i++)
        {
            int temp=a[i],t=0,k=0;
            if(a[i]==0) continue;
            while(temp)
            {
                if(temp%10) k++;
                temp/=10;
                t++;
            }
            if(t==k&&k<=low)
            {
                ans[num++]=a[i];
                break;
            }
        }
        printf("%d\n",num);
        for(int i=0;i<num;i++)
        {
            if(i==0) printf("%d",ans[i]);
            else printf(" %d",ans[i]);
            if(i==num-1) puts("");
        }
    }
    return 0;
}


【基础-多选】HarmonyOS鸿蒙应用开发 1、HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力。正确2、可以通过ohpm uninstall 指令下载指定的三方库。错误3、支持模块化开发是指一个应用通常会包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。在开发过程中,我们可以将每个功能模块作为一个独立的Module进行开发,Module中可以包含源代码、资源文件、第三方库、配置文件等,每一个Module可以独立编译,实现特定的功能。这种模块化、松耦合的应用管理方式有助于应用的开发、维护与扩展。正确。 阅读详情

相关推荐

从C-EPS到DP-EPS:手把手图解不同EPS类型怎么选,对你的车操控感影响有多大?

方向盘转动时那股细腻的阻尼感,高速过弯时令人安心的沉稳,或是狭窄车位里一根手指就能拨动的轻盈——这些看似微妙的差异,其实都源自转向系统电机那几厘米的安装位置变化。当我们谈论驾驶乐趣时,发动机参数和悬架调校总是占据C位,但真正连接驾驶者与车辆的神经末梢,恰恰是那套默默工作的电动助力转向系统(EPS)。不同EPS类型带来的操控特性差异,可能比马力数字更能定义一辆车的性格。

weixin_30920513的博客 531

Codeforces 57C Array dp暴力找规律

题目链接:点击打开链接 先是计算非递增的方案, 若非递增的方案数为x, 则非递减的方案数也是x 答案就是 2*x - n 只需求得x即可。 可以先写个n3的dp,然后发现规律是 C(n-1, 2*n-1) 然后套个逆元即可。 #include #include #include #include using namespace std; #define ll long long #d

九野的博客 1651

从SAS接口到InfiniBand:一张图看懂数据中心硬件‘黑话’(SFF-8643/8644、QSFP112、NDR/HDR/EDR)

本文深入解析数据中心硬件术语,从SAS接口标准(SFF-8643/8644)到速率标识(NDR/HDR/EDR),帮助工程师快速理解关键性能指标。特别对比了PCIe卡规格(HHHL/FHHL)和光模块选择(QSFP112/OSFP),并探讨InfiniBand在高性能网络中的优势,为硬件选型提供实用指南。

weixin_32103009的博客 427

codeforces-57C Array(找规律+逆元)

题目链接:点击打开链接 题意:给出一个整数n,要求找到长度为n的数组,满足该数组的元素是有[1,n]内的任意元素组成的,且该数组为非递减数组或非递增数组,求满足条件的数组的总个数。 分析:因为非递减数组和非递增数组具有对称性,可以只讨论非递减数组的个数,设其为x,则总个数为2x-n(n为非递减数组和非递增数组交叉的部分,即既不递减也不递增)。 通过分析讨论结果可以得到总个数为C(2n,n)-

CHeck_Check_check的博客 782

手把手教你用FreeModbus RTU协议栈实现STM32与PLC通信(附Keil工程)

本文详细介绍了如何使用FreeModbus RTU协议栈在STM32上实现与PLC的工业通信。从环境搭建、工程配置到关键移植接口实现,提供了Keil工程模板和调试技巧,帮助开发者快速掌握Modbus RTU通信技术,适用于工业自动化领域的设备间通信需求。

weixin_42549037的博客 418

18、AI在基础设施管理与运维中的应用及未来趋势

本文探讨了人工智能(AI)在基础设施管理和运维中的广泛应用,包括性能优化、成本节约、网络安全等多个场景。文章详细介绍了AI在不同领域的应用工具、实际案例以及面临的挑战,并展望了未来AI在基础设施管理中的发展趋势。此外,还分析了AI与Site Reliability Engineering(SRE)框架的结合优势,展示了AI如何提升运维效率和系统可靠性。

n7o8p的博客 147

Codeforces 57C (1-n递增方案数,组合数取模,lucas)

这个题相当于求从1-n的递增方案数,为C(2*n-1,n); 取模要用lucas定理,附上代码: #include<bits/stdc++.h> using namespace std; typedef long long LL; LL mod=1000000007; LL quick_mod(LL a,LL b){ LL ans=1%mod; while(b)...

weixin_30853329的博客 192

ResNet改进(7):添加 SK注意力机制

实现 SK 注意力机制。

2401_82355416的博客 732

Strange Addition

http://codeforces.com/problemset/problem/305/A 这题就是意思没看懂,一开始以为只要个位数只要一个为0就能相加,没想到到CF里面提交第三组就过不了,才发现是要各个位上面都要有一个为0的时候才能相加。 题意很重要。。。。 AC代码: #include #include #include using namespace std; in

蚕豆儿 1058

RK3568 上C图像camera图像采集应用实例(二)

本文探索rk3568上实现C语言的 通过C v4l2 接口 采集图像 ,刷屏控制 drm的显示camera图像中 实现camera preview 预览 的实践和探索。

luoshanxuli2010的专栏 760

btstack ble ota开发笔记(2)-mcuboot移植

紧接上一篇文章,要实现一个完整的ota demo,除了实现ota image的传输通道外,还需要“bootloader”这个角色来帮我们实现ota image的校验、安全、引导以及启动,这里我选择开源的组件mcuboot,下面开始介绍mcuboot在stm32f4-discovery上的移植。首先估算下bootloader & application image的大小,确定好flash的分布情况,因为后续会涉及到flash的操作(读、写、擦除),为了方便程序的编写,各个image area在flash中的起

weixin_38177846的博客 2350

CodeForces 305A Strange Addition(思维题)

题目意思是,一个人想出一种特殊的规则,两个数的十进制每一位上至少有一个零及以上才可以相加,位数不同可以补前导零。例如505可以和050相加,0可以和任何数字相加 现在要找出一个集合,让集合中的元素任意两两可以相加 输出,输出集合大小,以及集合中的元素。如果有多解,任意输出一组就可以。 集合中元素顺序随意。 首先分析一下,题目的数据范围很小,从0—100; 在这些数字中,有0位数(

Yuki_fx的博客 446

华为od面试手撕真题【分解质因数】

华为od面试手撕真题【分解质因数】

MISAYAONE的博客 1133

codeforces 305A Strange Addition (模拟)

Unfortunately, Vasya can only sum pairs of integers (a, b), such that for any decimal place at least one number has digit 0 in this place. For example, Vasya can sum numbers 505 and 50, but he cannot sum 1 and 4. Vasya has a set of k distinct non-negative

风的记忆 496

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

CodeForces 305A Strange Addition(想法题)

题意: Vasya这个人只会两个数字的加法,这两个个数字aa和bb满足,他们的每位上至少有一个0。 例如: 505 和 50 可以竖着看 500 050 每位上面都有一个0,而 1 和 4 没有。 现在题目给你由0~100组成的数组dd,问在这个数组dd中是否存在着一个最大的集合,使得任意两个数字都可以相加。 解析: 想法题,每个数字范围是0~100

小G的ACM之路 599

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

codeforces-305A Strange Addition(思维+模拟)

Unfortunately, Vasya can only sum pairs of integers (a, b), such that for any decimal place at least one number has digit 0 in this place. For example, Vasya can sum numbers 505 and 50, but he cannot sum 1 and 4. Vasya has a set of k distinct non-negative

HJY 415

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

codeforces A. Strange Addition 解题报告

题目链接:http://codeforces.com/problemset/problem/305/A 题目意思:给出一个序列,需要从中选择一些数,这些数需要满足:任意的两个数中每一位至少有一个数满足该位有0。例如,406, 10(可以看成010)是符合条件的; 406, 11 就不符合条件,因为个位上这两个数都不包含0。 一开始想得太过复杂:把整型的数保存到字符数组中,再用str...

weixin_30538029的博客 150

codeforce-305A--Strange Addition (贪心)

A. Strange Addition time limit per test:2 seconds memory limit per test:256 megabytes input:standard input output:standard output Unfortunately, Vasya can only sum pairs of integers (a, b),

wust_cyh 379

CodeForces 57 C.Array(组合数学)

Description 问长度为nn,元素介于11~nn之间的不增或不减的序列数 Input 一个正整数n(1≤n≤105)n(1\le n\le 10^5) Output 输出满足条件的序列数,结果模109+710^9+7 Sample Input 2 Sample Output 4 Solution 考虑只用kk个数构造不减的序列,nn个数中选出kk个数方案数CknC_n

ZSQ 374

Codeforces 1380 F. Strange Addition —— 线段树优化矩阵快速幂

This way 题意: 现在有一种加法,假设上面是1,下面是b,那么他们相加得到的c是这个样子的: 现在给你一个数组c,并且有多次修改每个位置的数字是什么,问你每次修改完之后,问你a+b=c有多少种a,b数组 题解: 假设这个数组是a,设b[i]=a[i-1]*10+a[i] 设v[i]表示当前值为i的时候,有多少种加法方式 那么可以写出dp[i]=dp[i+1]*v[a[i]]+dp[i-2]*v[b[i]] 但是有修改,所以不能直接做,由于是单点修改,那么此时我们可以将其放到线段树当中,在上传时重

天翼之城的博客 280

Codeforces 57C Array

#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <math.h> #include <string> #include <algorithm> #include <vector> #define ll long lo...

Polanwind 242

codeforces 57C 思维

题意:求出长度为n仅由1到n数字组成的非降序列与非升序列的个数。 思路:转化为求非降序列(非升序列)的个数。n个元素想象为n个离散的点x1,x2,x3,...,xn,在最开头补上一个点x0为1,在最末尾补上一个点xn+1为n,两个相邻点之间的高度差为hi=xi+1-xi,hi>=0。可列出h1+h2+h3+...+hn+1=n-1,将hi加上1,则h1+h2+h3+...+hn+1+n+1...

weixin_30687811的博客 184

HDU-2955 Robberies(小数01背包)

题目链接:点击打开链接 题意:一个人要去抢银行,给出n个银行各自的总存款和此人在这个银行被抓的概率,求出被抓概率小于p的情况下最多能抢多少钱。 分析:我开始把概率p乘以10^5转换为整数当作背包容量来求解wa了,可见数据的精度比1e-5还要小,用这种思路来解决问题是行不通的,需要转换思路。           此题需要将银行总的钱数sum当作背包容量,求出在不同的钱数i下此人逃跑的概率dp[

CHeck_Check_check的博客 1060

BZOJ-4591 超能粒子炮·改(lucas定理+预处理)

题意:求[C(n,0)+C(n,1)+...+C(n,k)]%2333的值。 分析:因为n和k的值太大,不能直接预处理组合数,由lucas定理:C(n,k)%mod=C(n/mod,k/mod)*C(n%mod,k%mod)%mod,可得到如下结果 便于说明,记[C(n%mod,0)+C(n%mod,1)+...+C(n%mod,mod-1)]%mod=∑C(n%mod,0~mod-1) a

CHeck_Check_check的博客 962

codeforces-327C Magic Five(等比数列求和+快速幂+逆元)

点击打开题目链接 题意:给出一个字符串a和一个整数k,表示这个字符串s是由k个 a连接得到的,要求任意删除字符串s中的任意位上的字符,使得删除后的字符串表示的数能被5整除。题目说明所求结果可能包含前导0的情况,即5和05算两种情况。 分析:要使这个数能被5整除,则删除后的字符末尾数字一定是5或0,这时只用枚举a的各位字符,如果遇到字符0或5就计算当前情况的总个数(2^i),而后面的k个串的相同

CHeck_Check_check的博客 938

codeforces-121E Lucky Array(树状数组)

题目链接:点击打开链接 题意:如果一个数每个十进制位上的数字是4或7,那么这个数字被称为“幸运数字,现”给出一个长度为n的数组,要求进行m次操作,这些操作包含两种: 1.更新操作,将第l到第r之间的数都加上d   。 2.查询操作,查询第l到第r个数中有多少个“幸运数字”。 分析:典型树状数组题目,需要注意判断一个数是否为“幸运数字”时不用遍历这个数字的每一位数,因为数字最大为10^5,只

CHeck_Check_check的博客 817
上一篇: codeforces-57C Array(找规律+逆元)
下一篇: UVA-562 Dividing coins(01背包)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值