• C. Carrying Conundrum(思维 + 奇偶数位)


    Problem - 1567C - Codeforces

     

    爱丽丝刚刚学会了加法。但是,她还没有完全学会 "携带 "的概念--她不是携带到下一列,而是携带到左边两列的列。

    例如,评估2039+2976这个和的常规方法是如图所示。


    然而,爱丽丝是按照图中的方式进行评估的。


    具体来说,她是这样做的。

    将9和6相加得出15,并将1带到左边两列,即 "0 9 "列。
    加3和7得10,并把1带到左边两列,即 "2 2 "列。
    加1、0和9组成10,并将1带到左边两列,即加号上面的那一列。
    加1,2和2组成5。
    加1为1。
    因此,她最后得到的结果是不正确的15005。
    爱丽丝走到鲍勃面前,说她把两个数字相加,得到的结果是n,但是,鲍勃知道爱丽丝是用她自己的方式加的。请帮助鲍勃找出有秩序的正整数对的数目,使爱丽丝将它们相加后得到的结果是n。请注意,如果a≠b,则成对的(a,b)和(b,a)被视为不同。

    输入
    输入由多个测试案例组成。第一行包含一个整数t(1≤t≤1000)--测试案例的数量。测试用例的描述如下。

    每个测试用例的唯一一行包含一个整数n (2≤n≤109) - Alice向Bob展示的数字。

    输出
    对于每个测试用例,输出一个整数 - 有序的正整数对的数量,当Alice将它们相加时,她会得到一个n的结果。

    例子
    inputCopy
    5
    100
    12
    8
    2021
    10000
    输出拷贝
    9
    4
    7
    44
    99
    备注
    在第一个测试案例中,当Alice评估1+9, 2+8, 3+7, 4+6, 5+5, 6+4, 7+3, 8+2, 或9+1中的任何一个和时,她将得到一个100的结果。下图显示了爱丽丝是如何计算6+4的。

    题解:
    题目说每次仅为向左移动两位,可以发现奇数位只会影响奇数位,偶数位只会影响偶数位

    我们得到奇数位x与偶数位的数y,

    x与y可以分别由x+1,y+1种方法组成

    答案位(x+1)*(y+1),因为会有一个数奇数位和偶数位全为0的情况,但题目中明确要求两个正整数,而既然有一个数,肯定会有两种情况(交换位置)

    (题中给你说的信息肯定是有用的,没有思路时仔细揣摩一下题目为什么要给这样的条件)

    1. #include<iostream>
    2. #include<vector>
    3. #include<queue>
    4. #include<cstring>
    5. #include<algorithm>
    6. #include<string>
    7. #include<map>
    8. using namespace std;
    9. #define int long long
    10. int a[100040];
    11. void solve()
    12. {
    13. // ios::sync_with_stdio(false);
    14. // cin.tie(0);
    15. // cout.tie(0);
    16. string s;
    17. cin >> s;
    18. int n = 0,m = 0;
    19. for(int i = 0;i < s.size();i++)
    20. {
    21. if(i&1)
    22. {
    23. n = n*10 + s[i] - '0';
    24. }
    25. else
    26. {
    27. m = m*10 + s[i] - '0';
    28. }
    29. }
    30. cout<<(n+1)*(m+1) - 2<<"\n";
    31. }
    32. signed main()
    33. {
    34. int t = 1;
    35. cin >> t;
    36. while(t--)
    37. {
    38. solve();
    39. }
    40. }

  • 相关阅读:
    OLED透明屏技术在智能手机、汽车和广告领域的市场前景
    openGauss学习笔记-96 openGauss 数据库管理-访问外部数据库-file_fdw
    ROS学习十二、图像传输Image_transport使用
    景联文科技:高质量的训练数据为高性能自动驾驶汽车提供动力
    【常用的 Git 命令及简要示例说明】
    若依——地址封装
    外包干了2个月,技术退步明显.......
    eclipse启动tomcat是出现Server Tomcat v9.0 Server at localhost failed to start.错误
    抖音智能运营系统源码
    C++ 太卷,转 Java?
  • 原文地址:https://blog.csdn.net/m0_64158084/article/details/128150580