首页 > 其他分享 >[ABC234E] Arithmetic Number 题解

[ABC234E] Arithmetic Number 题解

时间:2023-10-22 19:33:36浏览次数:38  
标签:return 题解 ll Number long 枚举 ABC234E res size

题目传送门

一道枚举题。

暴力枚举数字位数、首位、等差数列的公差即可。注意公差的枚举范围,并且需要看看末尾合不合法。顺便提一下,我是用字符串存储枚举的数字的,所以写了一个 check 函数代替大于号。

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
ll x;
ll top_num(ll x) { ll res; while (x) res = x % 10, x /= 10; return res; }
ll len(ll x) { ll res = 0; while (x) res++, x /= 10; return res; }
bool check(string a, string b) {
	if (a.size() > b.size()) return 1;
	if (a.size() < b.size()) return 0;
	for (int i = 0; i < a.size(); i++) {
		if (a[i] - '0' > b[i] - '0') return 1;
		if (a[i] - '0' < b[i] - '0') return 0;
	}
	return 1;
}
int main() {
	ios :: sync_with_stdio(0);
	cin >> x;
	for (ll i = len(x); i; i++) {
		for (ll j = top_num(x); j <= 9; j++) {
			for (ll d = -10; d <= 10; d++) {
				string s = to_string(j);
				if (j + (i - 1) * d >= 0 and j + (i - 1) * d <= 9) {
					for (ll k = 1; k < i; k++) s += to_string(j + k * d);
				}
				if (check(s, to_string(x))) {
					cout << s;
					return 0;
				}
			}
		}
	}
	return 0;
}

标签:return,题解,ll,Number,long,枚举,ABC234E,res,size
From: https://www.cnblogs.com/xvl-/p/17780907.html

相关文章

  • [ABC231E] Minimal payments 题解
    题目传送门一道贪心题。感觉很裸啊,模拟赛时随便乱写了个暴力递归就能过。每次找最接近钱数\(x\)的面额\(num\),如果比钱数少那么答案为剩下\(x\bmodnum\)钱数的答案加上\(x\divnum\)。否则答案则为剩下\(num-x\)钱数的答案加上\(1\)。Code#include<bits/stdc++.h......
  • ABC323D题解
    ABC323DMergeSlimes题目简述小A有\(N\)种橡皮泥。对于第\(i\)种橡皮泥,它的大小为\(S_i\)且一共有\(C_i\)个。小A可以合成两个大小相同的橡皮泥,若这两个橡皮泥大小为\(X\),则新和成的橡皮泥大小为\(2X\)。小A想知道,在进行若干次合成后(有可能\(0\)次),他能获得......
  • P9754 [CSP-S 2023] 结构体 题解
    前言在考场上调了2h+还没调出来,并且T4也没来得及做。希望看到这段文字的你能避免这样的悲剧。正文题目要求动态创建类型,于是我用结构体代表一个struct(禁止套娃),要新建就new出来一个。(最后也没delete)structObj{typnamtnam;lllen,align;std::map<std:......
  • CSP-S 2023 题解
    expect:\(100+100+65+25=290\)真实:\(100+85+0+15=205\),rk62感觉自己考的好烂好烂好烂T4这么简单竟然想不出来,感觉如果自己不被T4吓到,全做出来其实有望365+?今年CSP-S怎么这么简单吓得我不敢做了T1暴力T2考场做法:设\(lst_i\)表示\(a_i=a_{lst_i}\)并且\((......
  • pip安装慢问题解决
     一、永久修改pip软件安装默认源使用pipconfigsetglobal.index-url来直接指定下载源的URL,这样就不用手动修改配置文件了pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple以下是国内互联网常用的pypi安装源URL,在国内互联网下载的速度非常快......
  • CSP-S2023 题解
    更好的阅读体验CSP-S2023游记密码锁(lock)\(10^5\)枚举所有可能答案,然后判断。代码#include<bits/stdc++.h>intn;inta[13][7],b[7];boolcheck(inti){ intcnt=0; for(intj=1;j<=5;j++)cnt+=(a[i][j]!=b[j]); if(cnt==1)returntrue; else......
  • 【HAL 库复盘】自己手动创建工程模版Undefined symbol HAL_NVIC_SetPriority 问题解决
    1问题说明学习自己手动搭建一个STM32HAL库工程模板文件的时候,我发现了有6个错误,6个错误的类型是一样的,其中有3个通过添加hal_rcc.h和hal_gpio.c文件得以解决。所以另外3个我也想到了时缺少了对应的.c文件导致的错误。但是在STM32F1xx_HAL_Driver文件夹中,我没有找到类似如有“rcc......
  • P9752 [CSP-S 2023] 密码锁 题解
    分析最水S组T1。每次可以转动一个拨圈,或者转动相邻的两个拨圈,且幅度相同。那么就有一个简单粗暴的思路,枚举修改的方案,用vector来储存修改后的方案,存到map当中,当然也可以转换为数字存进去。切记要用两个map来储存,一个存方案,下文称为\(mp\),一个存这个方案在这个状态下......
  • springboot使用form标签在两个html页面之间实现界面跳转,出现405问题,但是一刷新就能出
    问题描述在我使用form标签的action属性实现两个html页面之间的跳转,但是出现了这样的问题:问题解决我尝试将这一块内容去掉:然后再次尝试:页面出来啦~问题解决啦~~......
  • CSP-J2023 题解
    T1code#include<bits/stdc++.h>usingnamespacestd;intn,ans;signedmain(){ ios::sync_with_stdio(0);cin.tie(0); cin>>n; for(inti=n;i;i-=(i+2)/3)++ans; cout<<ans<<""; for(inti=n,j=1;i;i-=(i+2......