当前位置: 首页 > news >正文

cf2067A

 原题链接:https://codeforces.com/contest/2067/problem/A
题目背景:

        给定x,y,判读是否存在 n 满足S(n) = x,S(n + 1) = y。定义 S(a) 等于 a 的十进制位数之和。

思路:

        不难发现一般 n 和 n + 1 的位数之和相差为 1,这种情况我们先判断一下即可;但是当 n 以 9结尾时,他在+1时就会进位,所有我们可以推出 S(n) = S(n+1) + k * 9 - 1( k 为 n 中有几个 9 )通过公式变形可得(S(n) - S(n +1) +1)/9 = k,带入 x,y 得( x - y + 1 ) / 9 = k,所以只需判断 (x - y + 1)% 9 是否等于 0 即可。

数据范围:

        1 <= x,y <= 1000

时间复杂度:

        O(1)。

ac代码: 
#include <bits/stdc++.h>#define ioscc ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define endl '\n'
#define me(a, x) memset(a, x, sizeof a)
#define all(a) a.begin(), a.end()
#define sz(a) ((int)(a).size())
#define pb(a) push_back(a)
using namespace std;typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<vector<int>> vvi;
typedef vector<int> vi;
typedef vector<bool> vb;const int dx[4] = {-1, 0, 1, 0};
const int dy[4] = {0, 1, 0, -1};
const int MAX = (1ll << 31) - 1;
const int MIN = 1 << 31;
const int MOD = 1e9 + 7;
const int N = 1e5 + 10;template <class T>
ostream &operator<<(ostream &os, const vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cout << a[i] << ' ';return os;
}template <class T>
istream &operator>>(istream &in, vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cin >> a[i];return in;
}/* 有乘就强转,前缀和开ll */void solve()
{int x, y;cin >> x >> y;if (x == y)cout << "NO" << endl;else if (x + 1 == y)cout << "YES" << endl;else if (x > y && (x - y + 1) % 9 == 0)cout << "YES" << endl;elsecout << "NO" << endl;
}int main()
{ioscc;int T;cin >> T;while (T--)solve();return 0;
}

相关文章:

  • 一个开源脚本,可自动安装在 AMD Radeon 7900XTX 上运行选定 AI 接口所需的所有内容
  • 大数据治理体系构建与实践路径
  • 文科小白学习Linux系统之安全管理
  • Debian:自由操作系统的精神图腾与技术基石
  • 12:遨博机器人开发
  • K6 是什么
  • 变量的计算
  • 25 字符数组与字符串及多维数组详解:定义与初始化、访问与遍历、%s 格式符、内存剖析、编程实战
  • 2025.5.26【ZR NOI模拟赛 T2】草莓函数 题解(性质,二分图最大权匹配)
  • (NAT64)IPv6网络用户访问IPv4网络服务器(动态映射方式)
  • 微内核与宏内核有什么区别(GAI)
  • Java -- 并发编程
  • 项目管理进阶:精读78页 IPD+CMMI+Scrum一体化研发管理解决方案【附全文阅读】
  • matlab雷达定位仿真
  • 约瑟夫问题
  • 企业级网络管理实战:Linux、云与容器的深度融合与优化
  • 关于无法下载Qt离线安装包的说明
  • 企业内训系统源码开发详解:直播+录播+考试的混合式学习平台搭建
  • Arduino 编码器
  • 2025-05-29 学习记录--Python-面向对象
  • 佛山公司关键词网络推广/seo精灵
  • 做网站要备案/网络营销方案
  • 常州网站专业制作/线上拓客渠道有哪些
  • 黄埔做网站的公/网站优化的方法与技巧
  • 如何做企业网站php/百度官网网站首页
  • asp 网站支持多语言/找百度