题目
题目链接
题解全排暴力。
规定一下:n = sum1 + sum2/sum3
使用next_permutation()
函数对保存着1、2、……、9
的数组进行全排列,对于每一种全排列,我们对其进行分段,分成三段,第一段构成sum1
第二段构成sum2
第三段构成sum3
。算出三段的大小,判断是否满足上面等式即可。
我裂开,我想了好久,心想暴力肯定不行时间必超,觉得一定是个思维题,结果我想多了,扫了一眼网上题解的第一句话“全排”,我就试着算了一下9!=362880,妈的,我居然觉得9!会特别大,结果才不到4e5。
这说明几个问题:
- 我是《小可爱》
- 蓝桥杯是暴力杯
- 蓝桥杯也是《小可爱》
时间上限且是无法触及的上限,大概是9! * 7 * 7 < 2e7
。 算的不准确,反正肯定比这个小。
#include
using namespace std;
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int n, ans;
// 9! = 362880
int main()
{
cin>>n;
int x = n, sn = 0;
while(x) sn ++, x/=10; // sn保存n的size,即n的位数
while(next_permutation(a+1, a+10)) { // 全排
for(int s1 = 1;s1 0的必要条件,用这个开始相当于避免一些无用的判断
int sum2 = 0, sum3 = 0;
for(int j = s1+1;j
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?