蓝桥杯2013年-带分数(暴力全排列check方案数)

题目描述

100 可以表示为带分数的形式:100 = 3 + 69258 / 714。

还可以表示为:100 = 82 + 3546 / 197。

注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。

类似这样的带分数,100 有 11 种表示法。

思路

1~9的全排列大概为3e5,然后分割方案数为36种(C29),复杂度大概为1e7,能接受。

所以我们可以直接用next_permutation暴力枚举1~9的所有全排列,然后分割成三个数,符合则加上即可。

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[10]={1,2,3,4,5,6,7,8,9};
int ned;
int get(){
    int x=0,y=0,z=0;
    int res=0;
    for(int i=0;i<7;i++){//第一个数所占的位数
        x=x*10+a[i];
        y=0;
        for(int j=i+1;j<8;j++){//第二个数所占的位数
            y=y*10+a[j];
            z=0;
            for(int k=j+1;k<9;k++){
                z=z*10+a[k];
            }
            if(y%z==0&&x+y/z==ned)res++;
            
        }
    }
    return res;
}
int main(){
    cin>>ned;
    int ans=0;
    do{
        ans+=get();
    }while(next_permutation(a,a+9));
    cout<<ans;
}
相关推荐
行走的陀螺仪41 分钟前
【转型攻略】2026 年,后端 / 全栈工程师转 AI Agent 方向:能力地图、按周学习路线与面试要点
人工智能·面试·职场和发展
招聘背调实务专家杨宏5 小时前
技术岗位背调与技术面试如何分工
职场和发展
天真小巫11 小时前
2026.10.28总结
职场和发展
CoderYanger1 天前
Java EE 进阶:5. Spring IoC&DI(第一弹):Spring IoC
java·开发语言·spring boot·spring·面试·职场和发展·java-ee
海绵宝宝的月光宝盒2 天前
9-AutoCAD-移动、旋转、复制命令应用与案例实战
经验分享·笔记·职场和发展·课程设计·制造·学习方法·cad
傅科摆 _ py2 天前
回溯力扣复习
算法·leetcode·职场和发展
考研保研资料分享2 天前
985工科跨保上财应用统计:数学笔试、匿名面试与机试复盘
面试·职场和发展
杨逢昌工厂6S管理2 天前
126-杨逢昌6S三环体系:越做越乱的现场熵增机理与基准化治理——一线现场诊断笔记
经验分享·笔记·职场和发展·学习方法
海绵宝宝的月光宝盒2 天前
7-AutoCAD-参考线、多行文字、填充命令应用
经验分享·笔记·学习·职场和发展·课程设计·制造·cad
GG.WinGel2 天前
三元组中心问题
java·数据结构·算法·青少年编程·蓝桥杯