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

洛谷 [P1118] IOI1994 数字三角形

简单dfs

我们注意到,题目中的运算方式与杨辉三角极其相似,所以说本题实际上是一道加权的杨辉三角,搜索系数

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cstdlib>
#include <cmath>
using namespace std;
int init(){
    int rv=0,fh=1;
    char c=getchar();
    while(c<'0'||c>'9'){
        if(c=='-') fh=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9'){
        rv=(rv<<1)+(rv<<3)+c-'0';
        c=getchar();
    }
    return fh*rv;
}
int n,num,c[20][20],temp[20];
bool f[20];
void work(){
    c[1][1]=1;
    for(int i=2;i<=n;i++){
        c[i][1]=c[i][i]=1;
        for(int j=2;j<i;j++){
            c[i][j]=c[i-1][j]+c[i-1][j-1];
        }
    }
}
void print(){
    for(int i=1;i<=n;i++){
        printf("%d ",temp[i]);
    }
}
void dfs(int k,int cur){
    if(cur>num) return;
    if(k==n+1){
        if(cur==num) {print();exit(0);}
        else return ;
    }
    for(int i=1;i<=n;i++){
        if(!f[i]){
            f[i]=1;
            temp[k]=i;
            dfs(k+1,cur+i*c[n][k]);
            f[i]=0;
        }
    }
}
int main(){
    freopen("in.txt","r",stdin);
    n=init(),num=init();
    work();
    dfs(1,0);
    fclose(stdin);
    return 0;
}

转载于:https://www.cnblogs.com/Mr-WolframsMgcBox/p/8039907.html

相关文章:

  • C#中 一次执行多条带GO的sql语句
  • 贪吃蛇-需求分析
  • C#正则表达式(RegEx)高级应用之分组(Group)替换(Replace)
  • algorithm.sty not found error in LaTeX 解决方法
  • C# regex replace
  • linux 的 awk 使用
  • Linux启动检测磁盘失败
  • 简历已经过时了,而这里正是你需要的
  • 虚拟机RAC的ASM磁盘组坏块导致重建DB
  • ASP.NET 5 入门 (2) – 自定义配置
  • hadoop进阶
  • 程序员编程艺术第一~二十二章集锦与总结(教你如何编程)
  • C语言的内存分配
  • 级别
  • 函数指针和指针函数
  • android 一些 utils
  • es的写入过程
  • httpie使用详解
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript实现分页效果
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • SQLServer之索引简介
  • vue-cli3搭建项目
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 正则表达式小结
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • Mac 上flink的安装与启动
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​如何在iOS手机上查看应用日志
  • #WEB前端(HTML属性)
  • (1)STL算法之遍历容器
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (C语言)fgets与fputs函数详解
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (过滤器)Filter和(监听器)listener
  • (一)SpringBoot3---尚硅谷总结
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • .NET BackgroundWorker
  • .NET Core 通过 Ef Core 操作 Mysql
  • .Net FrameWork总结
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [C#] 我的log4net使用手册
  • [C++基础]-入门知识
  • [Contiki系列论文之2]WSN的自适应通信架构