首页 > 其他分享 >CF1714C 题解

CF1714C 题解

时间:2022-08-15 16:33:43浏览次数:57  
标签:return 数字 int 题解 sum CF1714C ans now

题目大意

  • 找到最小的数字,使该数字每一位上的数字的和等于给定的数字 \(s\),且其中的所有数字都不同,即所有数字都是唯一的。

解法

这题的数据很水,暴力就能过,从小到大枚举每一位上的数字即可。

注意枚举的时候要从比上一次大的位置枚举,不能有重复。

注意边界情况。

代码

#include <bits/stdc++.h>
using namespace std;
int s;
string ans;

void dfs(int sum, string now, int last) {
	if (sum > s) {
		return;
	}

	if (sum == s) {
		if (ans.size() > now.size()) {
			ans = now;
		} else if (ans > now) {
			ans = now;
		}

		return;
	}

	for (int i = last + 1; i < 10; i++) {

		dfs(sum + i, now + to_string(i), i);
	}
}

int main() {
	for (int i = 1; i <= 45; i++) {

		ans = "999999999999999999999999999999999";
		s = i;
		dfs(0, string(), 0);
		cout << s << " " << ans << endl;
	}

	return 0;
}

另附打表做法

#include <bits/stdc++.h>
using namespace std;

int ans[46] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 19, 29, 39, 49, 59, 69, 79, 89, 189, 289, 389, 489, 589, 689, 789, 1789, 2789, 3789, 4789, 5789, 6789, 16789, 26789, 36789, 46789, 56789, 156789, 256789, 356789, 456789, 1456789, 2456789, 3456789, 13456789, 23456789, 123456789};

int main() {
	int t;
	scanf("%d", &t);

	while (t--) {
		int n;
		scanf("%d", &n);
		printf("%d\n", ans[n]);
	}

	return 0;
}

标签:return,数字,int,题解,sum,CF1714C,ans,now
From: https://www.cnblogs.com/Dregen-Yor/p/16588748.html

相关文章

  • ubuntu dpkg问题解决
    问题今天玩ubuntu发现以下报错:dpkgwasinterrupted,youmustmanuallyrunsudodpkg–configure-atocorrecttheproblem 解决sudorm/var/lib/apt/lists/l......
  • LGP8474题解
    很萌萌的数数题。考虑设\(dp[n]\)表示\(n\)的答案。考虑对于一个长度为\(n\)的排列,令排列的所有元素\(+1\),然后塞一个\(1\)进去。容易发现,逆序对增加的数量和......
  • Gym102798 CCPC2020威海E加强版 题解
    原题link把\(m\)和\(a_i\)的上界改成\(200\),其他不变.基本思路:枚举\(S\),求出\(p(S)\)表示集合\(S\)中的怪兽被打死的概率,答案就是\(\sum_{S}|S|p(S)\).而这......
  • AtCoder Beginner Contest 264部分题解(a~d)
    A题题目大意:打印“atcoder"中从第l个到第r个字母参考代码:#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineIOSios_base::sync_with_std......
  • 【问题解决】解决使用aliyuncdn加速的域名证书不同步问题
    今天登录上博客发现好家伙资源链全挂了,进去一看发现是证书到期了,但是我回服务器查看证书发现证书已经更新而且是有效状态,清缓存一类的都尝试过了,依旧不行,然后网上找到了一......
  • AcWing周赛62-64 中比较有意思的小题题解
    AcWing周赛62-64(选讲)感觉比较思维4502.集合操作https://www.acwing.com/problem/content/4505/根据题意,肯定要使得所取的最大值最大,平均值最小。又因为每次放进来的的......
  • T265119 拯救公主--题解
    题目描述公主索菲亚被关在一个有大小一样的方格构成的四四方方的迷宫里面,索菲亚就站在其中一个方格子上,拯救方案是这样的:要用一些地砖把公主所在的方格子之外的格子都铺上......
  • CF1712题解(E,F)
    E题意是让你求满足\(lcm(i,j,k)\geqi+j+k\)的三元组个数。我们通常都有一个直观感觉,lcm应该是各数之积级别的,换句话说,不满足\(lcm(i,j,k)\geqi+j+k\)的三元组个数......
  • LeetCode Pow(x, n)算法题解 All In One
    LeetCodePow(x,n)算法题解AllInOnejs/ts实现Pow(x,n)50.Pow(x,n)https://leetcode.cn/problems/powx-n/https://www.youtube.com/watch?v=ZTACajQOb2Er......
  • 2022“杭电杯”中国大学生算法设计超级联赛(8) 题解
    A.Theramore考虑只对长度为3的子串进行操作,发现偶数位置的字符不会出现在奇数位置,奇数位置的字符不会出现在偶数位置。对奇偶位置字符进行排序即可。#include<bits/std......