题解归档 - cf2234B
本文最后由方少年更新于2026 年 6 月 28 日,已超过0天没有更新。如果文章内容或图片资源失效,请留言反馈,将会及时处理,谢谢!
题解归档 - cf2234B
本文由 cf-code 本地题解库自动归档;公开内容以本地 AC/验证版本为准。
- 本地编号:
cf2234B - 本地来源:
problems/cf2234B/idea.md - 题目链接:https://codeforces.com/contest/2234/problem/B
- 原始标题:cf2234B 思路(用户)
思路
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 ~ ~
文章标题:题解归档 - cf2234B
文章链接:https://www.fangshaonian.cn/archives/297/
最后编辑:2026 年 6 月 28 日 19:06 By 方少年
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)