题解归档 - cf2234B

题解归档 - cf2234B

本文由 cf-code 本地题解库自动归档;公开内容以本地 AC/验证版本为准。

思路

cf2234B 思路(用户)

关键

  • (b) 被 12 整除 ⟺ (a \equiv n \pmod{12})
  • 一位数全是回文,先枚举一位数 (0\sim 9)

一位不行时

  • 一位只能表示余数 (0\sim 9)
  • (n\bmod 12 = 10)(=11) 两种
  • (11) 本身是回文 → 余 11 特判
  • 余 10 再构造回文(进行中)

结论

n mod 12 in 0..9  → a = 余数(a <= n)
n mod 12 == 11    → a = 11(n >= 11)
n mod 12 == 10    → a = 22(n >= 22),否则 -1

待验证

  • [x] 官方样例

代码

来源:problems/cf2234B/solution.cpp

/* Author: likely
 * Time: 2026-06-07 22:45:26
**/
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
    ll t,n,zc;
    cin>>t;
    while(t--){
        cin>>n;
        zc=n%12;
        if(zc<=9 and zc<=n){
            cout<<zc<<" "<<n-zc<<"\n";
        }else if(zc==11 and n>=11){
            cout<<"11 "<<n-11<<"\n";
        }else if(zc==10 and n>=22){
            cout<<"22 "<<n-22<<"\n";
        }else{
            cout<<"-1\n";
        }
    }
    return 0;
}
~  ~  The   End  ~  ~


 赏 
感谢您的支持,我会继续努力哒!
支付宝收款码
tips
文章二维码 分类标签:归档TypechoAutoUpload
文章标题:题解归档 - cf2234B
文章链接:https://www.fangshaonian.cn/archives/297/
最后编辑:2026 年 6 月 28 日 19:06 By 方少年
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
(*) 3 + 4 =
快来做第一个评论的人吧~