Carrying Conundrum(思维)
题目
Carrying Conundrum
问题描述
定义一种特殊加法计算:
上式为正常加法计算,下式为特殊加法计算,特殊之处在于进位将会跳跃一位相加, 比如应该进位到十位的1进位到了百位,应该进位到百位的1进位到了千位。
给定测试总数ttt,每个测试包含一个数nnn,nnn是由特殊加法计算所得出的结果,问有多少对(a,b)(a,b)(a,b)可使得a+b=na\ +\ b=na + b=n,注意(a,b)与(b,a)(a,b)与(b,a)(a,b)与(b,a)在a≠ba\neq ba=b时视作不同,当a=ba=ba=b时视作相同。
要求a,ba,ba,b均为正整数。
例:当n=12n=12n=12时,有4种情况,分别为:
1.a=11,b=1;
2.a=1,b=11;
3.a=10,b=2;
4.a=2,b=10;
分析
特殊计算的特点是进位都只会隔位相加,也就是说只有相隔的列之间才会有影响,若两个列相邻,则不会有影响。
不妨将相隔的列都取出来,组成一个新的数,以2021作为样例,可从中分出两个数分别是1和22,
满足a+b=1a+b=1a+b=1的(a,b)(a,b)(a,b)对有(0,1),(1,0)(0,1),(1,0)(0,1),(1,0),共2对;
满足a+b=22a+b=22a+b=22的(a,b)(a,b)(a,b)对有(0,22),(1,21)……,(0,22),(1,21)……,(0,22),(1,21)……,共有23对。
两两匹配就可以得到满足条件的a,ba,ba,b,比如(0,1)与(2,20)(0,1)与(2,20)(0,1)与(2,20)
可以得到a=0020,b=2001a=0020,b=2001a=0020,b=2001,结果为2021.
以此类推。
不过存在两个特例:
1.(0,1)与(0,22)(0,1)与(0,22)(0,1)与(0,22)
对应a=0000,b=2021a=0000,b=2021a=0000,b=2021
2.(1,0)与(22,0)(1,0)与(22,0)(1,0)与(22,0)
对应a=2021,b=0000a=2021,b=0000a=2021,b=0000
对于题目来说,不考虑这种存在0的情况。
所以最终的结果为2∗23−2=442*23-2=442∗23−2=44
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
string S;
int main(){while(cin>>t){while(t--){cin>>S;ll c=0,d=0;for(int i=0;i<S.size();i++){if(i%2){c*=10;c+=S[i]-'0';}else{d*=10;d+=S[i]-'0';}}cout<<(c+1)*(d+1)-2<<endl;}}return 0;
}
Carrying Conundrum(思维)相关推荐
- CodeForces - 1567C Carrying Conundrum(思维/状压)
题目链接:点击查看 题目大意:规定加法中使用隔项进位,问给定的 nnn 有多少种方案可以通过 "隔项进位加法" 得到 题目分析:隔项进位意味着奇偶位置的数字互不影响,所以将奇偶位置 ...
- CF 1567 C. Carrying Conundrum(思维)
CF 1567 C. Carrying Conundrum(思维) 题目大意: 题目大意很有意思,就是一个小孩他不会列式相加,把进位加到了该位左侧的第二位上,现在给出结果,问按照这个小孩的方法,能有多 ...
- C. Carrying Conundrum(思维)
C. Carrying Conundrum(思维) 题意 小明不知道如何列竖式计算,每次计算将进位往左移了一位,要求算出存在多少对数对(a,b)使得其按照小明列竖式的方法能求出目标数字 以下是小明的计 ...
- Codeforces Round #742 (Div. 2) C. Carrying Conundrum
目录 题目: Input Output Example 解析 AC代码 题目: C. Carrying Conundrum time limit per test2 seconds memory li ...
- codeforces 1567 C. Carrying Conundrum
本场比赛其他题目的题解 A. Domino Disaster B. MEXor Mixup C. Carrying Conundrum D. Expression Evaluation Error E ...
- CF1567C Carrying Conundrum(组合计数+思维)
题目传送门 思路 这个题和我们正常的竖式运算的区别在于: 正常的竖式运算是向下一位进位,而本题的新定义运算是隔位进位,因此我们就可以考虑将这些数按照奇数和偶数位进行拆位: 例如: 1500515005 ...
- Codeforces Round #742 (Div. 2) C. Carrying Conundrum(思维)
题目链接 题目大意: 定义了一种新的加法进位的方式,给你一个数 nnn ,计算有多少组两个数之和等于 nnn . 解题思路: 将 nnn 的奇偶位分开,变成两个数 num1,num2num1,num2 ...
- C. Carrying Conundrum
Problem - 1567C - Codeforces 题意: 给定一个数,要求找出两个数经过一个修改后的加法操作得到这个数的方案数.修改后的加法操作是进位操作修改为进位到左边第二位 思路:注意到, ...
- C. Carrying Conundrum(找规律)
Codeforces Round #742 (Div. 2) 题意 正常的加法竖式运算,现在出错了,按照出错的方式,给你一个结果n,找出满足题意的非负整数对的数量.下面为出错方式: 正确方式: 出错方 ...
最新文章
- [20160321]bvi使用问题2.txt
- 【每日一题】212. 单词搜索 II
- 【项目管理】项目经理每天、每周、每月应该做的都在这
- 网络常用命令收藏与整理
- python datetime计算时间差_Python中关于日期的计算总结
- php7.2 的好处,PHP 7.2 中弃用的功能
- Java定位CPU使用高问题--转载
- Boost:加载评估WebSocket服务器的性能测试程序
- linux ini文件,Shell script - Linux下解析ini配置文件
- 前端学习(2613):action的方法
- 2022年中国折叠屏手机市场洞察报告
- Hibernate初探之单表映射——Hibernate概念及插件的安装
- 浮点类型float double 以及BigDecimal
- Android P Beta 3 现已发布!
- bluecam连接步骤说明_迈拓维距Type-C扩展坞手机连接电视图文教程
- 计算机趣味知识竞赛策划书,计算机趣味知识竞赛活动策划书.doc
- Web Service(二):cxf 实现
- android mdpi对应哪一个屏幕,Android屏幕大小为ldpi,mdpi,hdpi,xhdpi显示? - 例如:ldpi为1024X768像素...
- 配置DTcms伪静态功能图文教程
- spring整合WebService入门详解