题目

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(思维)相关推荐

  1. CodeForces - 1567C Carrying Conundrum(思维/状压)

    题目链接:点击查看 题目大意:规定加法中使用隔项进位,问给定的 nnn 有多少种方案可以通过 "隔项进位加法" 得到 题目分析:隔项进位意味着奇偶位置的数字互不影响,所以将奇偶位置 ...

  2. CF 1567 C. Carrying Conundrum(思维)

    CF 1567 C. Carrying Conundrum(思维) 题目大意: 题目大意很有意思,就是一个小孩他不会列式相加,把进位加到了该位左侧的第二位上,现在给出结果,问按照这个小孩的方法,能有多 ...

  3. C. Carrying Conundrum(思维)

    C. Carrying Conundrum(思维) 题意 小明不知道如何列竖式计算,每次计算将进位往左移了一位,要求算出存在多少对数对(a,b)使得其按照小明列竖式的方法能求出目标数字 以下是小明的计 ...

  4. Codeforces Round #742 (Div. 2) C. Carrying Conundrum

    目录 题目: Input Output Example 解析 AC代码 题目: C. Carrying Conundrum time limit per test2 seconds memory li ...

  5. codeforces 1567 C. Carrying Conundrum

    本场比赛其他题目的题解 A. Domino Disaster B. MEXor Mixup C. Carrying Conundrum D. Expression Evaluation Error E ...

  6. CF1567C Carrying Conundrum(组合计数+思维)

    题目传送门 思路 这个题和我们正常的竖式运算的区别在于: 正常的竖式运算是向下一位进位,而本题的新定义运算是隔位进位,因此我们就可以考虑将这些数按照奇数和偶数位进行拆位: 例如: 1500515005 ...

  7. Codeforces Round #742 (Div. 2) C. Carrying Conundrum(思维)

    题目链接 题目大意: 定义了一种新的加法进位的方式,给你一个数 nnn ,计算有多少组两个数之和等于 nnn . 解题思路: 将 nnn 的奇偶位分开,变成两个数 num1,num2num1,num2 ...

  8. C. Carrying Conundrum

    Problem - 1567C - Codeforces 题意: 给定一个数,要求找出两个数经过一个修改后的加法操作得到这个数的方案数.修改后的加法操作是进位操作修改为进位到左边第二位 思路:注意到, ...

  9. C. Carrying Conundrum(找规律)

    Codeforces Round #742 (Div. 2) 题意 正常的加法竖式运算,现在出错了,按照出错的方式,给你一个结果n,找出满足题意的非负整数对的数量.下面为出错方式: 正确方式: 出错方 ...

最新文章

  1. [20160321]bvi使用问题2.txt
  2. 【每日一题】212. 单词搜索 II
  3. 【项目管理】项目经理每天、每周、每月应该做的都在这
  4. 网络常用命令收藏与整理
  5. python datetime计算时间差_Python中关于日期的计算总结
  6. php7.2 的好处,PHP 7.2 中弃用的功能
  7. Java定位CPU使用高问题--转载
  8. Boost:加载评估WebSocket服务器的性能测试程序
  9. linux ini文件,Shell script - Linux下解析ini配置文件
  10. 前端学习(2613):action的方法
  11. 2022年中国折叠屏手机市场洞察报告
  12. Hibernate初探之单表映射——Hibernate概念及插件的安装
  13. 浮点类型float double 以及BigDecimal
  14. Android P Beta 3 现已发布!
  15. bluecam连接步骤说明_迈拓维距Type-C扩展坞手机连接电视图文教程
  16. 计算机趣味知识竞赛策划书,计算机趣味知识竞赛活动策划书.doc
  17. Web Service(二):cxf 实现
  18. android mdpi对应哪一个屏幕,Android屏幕大小为ldpi,mdpi,hdpi,xhdpi显示? - 例如:ldpi为1024X768像素...
  19. 配置DTcms伪静态功能图文教程
  20. spring整合WebService入门详解

热门文章

  1. CEVA-Xx_V17.1.0_64b安装步骤
  2. 电源热敏电阻计算选择
  3. 作为维基百科全书的系统、全球最著名的wiki程序——MediaWiki
  4. 关于更新Windows11后eNSP路由器启动不了一直报“‘错误代码:40”的问题
  5. 交友H5盲盒源码PHP开源版
  6. C语言之指针知识大总结
  7. 微信公众号开发-菜单事件推送
  8. Python——生成激活码
  9. 网线还能这样玩???(哈哈哈,记一次差点被揍事件)
  10. NYOJ 541 最强DE 战斗力(大数水)