首页 > 其他分享 >Codeforces Round #742 (Div. 2) C

Codeforces Round #742 (Div. 2) C

时间:2022-10-17 13:46:03浏览次数:78  
标签:奇偶 742 const num1 num2 int Codeforces Div size

C. Carrying Conundrum

这样子进位显然奇偶就独立了
我们分别对于奇偶计算方案数 然后乘法法则即可
比如我们现在奇数位num1 偶数位num2
我们的方案就是num1+1 偶数位就是num2+1
然后ans就是(num1+1)*(num2+1)
不过这里还需要-2(我们保证a b都为正数)
因为还会有 num1+num2 0+0
0+0 num1+num2 这两种情况

#include <bits/stdc++.h>
using namespace std;
const int N = 4e5+10;
const int M = 998244353;
const int mod = 20220911;
#define int long long
int up(int a,int b){return a<0?a/b:(a+b-1)/b;}
#define endl '\n'
#define all(x) (x).begin(),(x).end()
#define YES cout<<"YES"<<endl;
#define NO cout<<"NO"<<endl;
#define _ 0
#define pi acos(-1)
#define INF 0x3f3f3f3f3f3f3f3f
#define fast ios::sync_with_stdio(false);cin.tie(nullptr);
int change(string s){
    int res=0;
    for(auto i:s){
        res*=10;
        res+=i-'0';
    }
    return res;
}
void solve() {
    string s,a,b;cin>>s;
    if(s.size() %2) {
        for (int i = 0; i < s.size(); i += 2) {
            a.push_back(s[i]);
            if(i+1<s.size())b.push_back(s[i + 1]);
        }
    }else{
        for (int i = 0; i < s.size(); i += 2) {
            b.push_back(s[i]);
            if(i+1<s.size())a.push_back(s[i + 1]);
        }
    }
    cout<<(change(a)+1)*(change(b)+1)-2<<endl;
}
signed main(){
    fast
    int t;t=1;cin>>t;
    while(t--) {
        solve();
    }
    return ~~(0^_^0);
}

标签:奇偶,742,const,num1,num2,int,Codeforces,Div,size
From: https://www.cnblogs.com/ycllz/p/16798912.html

相关文章

  • Codeforces Round #628 (Div. 2)——D(二进制,构造,思维)
    https://codeforces.com/problemset/problem/1325/D题目大意给你\(u,v\)两个数,叫你构造出最短的数组,满足所有的异或等于\(u\),所有的和等于\(v\)思路首先我们可以......
  • Divisibility by 2^n
    Problem-D-Codeforces题意:给定数列a1,a2,....an令ans=a1*a2*a2*....an每次可以选择一个i(只能选一次),使得ai=ai*i若操作后存在(2^n)|ans,输出最小的操作次数,否则输出-......
  • Codeforces Round #828 (Div. 3)
    E2.DivisibleNumbers(hardversion)用pollardrho跑出\(ab\)的质因数分解,然后dfs枚举\(ab\)的所有因子对\(x,y\),如果存在\(k_1,k_2\)使得\(a<k_1x\le......
  • Codeforces Round #748 (Div. 3) E
    E.GardenerandTree显然我们对于每一个叶节点是度数为1的我们如果删除外层叶节点的时候显然也要改变与他与他连接的节点的度数而只有可以能在这些节点里诞生新的叶节......
  • Codeforces Round #752 B
    B.ModerateModularMode先列式子n=k1x+by=k2n+b我们把第二个式子n单独提出来(y-b)/k2=k1x+by=k1k2x+(k2+1)b因为题中给出xy都是偶数显然我们可以构造k1=1k2=1......
  • [题解] Codeforces Global Round 23 1746 A B C D E1 F 题解
    点我看题求点赞A.Maxmina首先序列全0的情况肯定是NO。否则,如果\(k\ge3\),则在序列中随便找一个1,把他左边和右边分别用第一种操作不断缩,直到序列长度为k为止,最后用一次2......
  • Codeforces Global Round 23
    A.Maxmina显然结果全为0时,结果为NO,若有1,我们通过操作1使长度变为k,里面包含至少1,通过操作2,结果即为YES1#include<bits/stdc++.h>2usingnamespacestd;3consti......
  • Codeforces Global Round 23题解
    T1link大水题,不想说最后一定可以把一个序列消成长度为\(k\)的带一序列,前提是其原来就有一所以贪心就是如果有一,就行,反之不行codeT2linkwssb,考试的时候居然想了大......
  • Codeforces Global Round 23 (A-E1)个人题解
    A-Maxmina给定一个01串,我们可以将k个数变为他们的最大值(k个数变成1个数),或者将相邻的两个数变为他们的最小值(2个数变成1个数),询问是否可以将这个01串变成仅含有一个1的......
  • Codeforces Global Round 23 题解
    ContestLink我是智障。A.MaxminaProblemLink显然当数组中全是\(0\)的时候,最后不可能变成\(1\),因为我们只有相邻取\(\min\)和区间取\(\max\)两种操作,并没有任......