填数

翻译 2015年11月19日 18:48:21
0 1 2 3 4 5 6 7 8 9
  _ _ _ _ _ _ _ _ _ _

在横线上填写数字,使之符合要求。
要求如下:对应的数字下填入的数,代表上面的数在下面出现的次数,比如3下面是1,代表3要在下面出现一次。

正确答案是:0 1 2 3 4 5 6 7 8 9

                       6 2 1 0 0 0 1 0 0 0


这个问题下面的结果肯定等于n,上面乘下面的和也是为n的,所以用搜索

可以剪枝,其实最后两个数肯定会是0,此问题感觉并没有完全解决,下次

在更新吧。


#include <stdio.h>
const int maxn = 15;
int a[maxn], vis[maxn], ans[maxn], n;
int is_ok ( )
{
    for ( int i = 0; i < n; i ++ )
        if ( ans[i] != vis[i] )
            return 0;
    return 1;
}
void print ( )
{
    for ( int i = 0; i < n; i ++ )
        printf ( "%d ", ans[i] );
    printf ( "\n" );
}
void dfs ( int k, int n, int s )
{
    if ( s > n )    //剪枝
        return ;
    if ( k == n )
    {
        if ( s == n && is_ok ( ) )
            print ( );
        return ;
    }
    for ( int i = 0; i < n; i ++ )
    {
        ans[k] = i;
        vis[i] ++;
        dfs ( k+1, n, s+i );
        vis[i] --;  //回溯
    }
}
int main ( )
{
    n = 13; //其实最后两个数肯定是0
    dfs ( 0, n, 0 );
    return 0;
}



举报

相关文章推荐

蓝桥杯方格填数

题目 方格填数 如下的10个格子    +--+--+--+     |     |    |    | +--+--+--+--+ |    |     ...

第七届蓝桥杯省赛C语言B组第6题 方格填数

方格填数如下的10个格子 +–+–+–+ | | | | +–+–+–+–+ | | | | | +–+–+–+–+ | | | | +–+–+–+(如果...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

NYOJ 33 蛇形填数

蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 1...

今天看了一下2014蓝桥杯的第七题--六角填数,网上的代码基本都是那些dfs之类的 看得我一脸懵逼,于是乎就自己写了一个直接暴力求解,虽然代码好像有点多

今天看了一下2014蓝桥杯的第七题--六角填数,网上的代码基本都是那些dfs之类的 看得我一脸懵逼,于是乎就自己写了一个直接暴力求解,虽然代码好像有点多

2016西电校赛网络赛 Problem F 方格填数

Problem F 6 方格填数问题描述 万神在纸上画了一个 3 × 3 的表格,希望把 1 · · · 9 填入表格中,每个数只填 一次。然而,这样会有 9! = 362880 种不同的填...

穷举——六角填数

六角填数如图![这里写图片描述](http://img.blog.csdn.net/20160305094252158)所示六角形中,填入1~12的数字。使得每条直线上的数字之和都相同。图中,已经替你...

蓝桥杯第六届决赛:五星填数

标题:五星填数 如【图1.png】的五星图案节点填上数字:1~12,除去7和11。 要求每条直线上数字和相等。 如图就是恰当的填法。 请你利用计算机搜索所有可能的填法有...
  • yf224
  • yf224
  • 2017-05-17 12:16
  • 91

方块填数

声明: 该题目出自蓝桥杯软件大赛,由于没有官方测试数据,所以不能保证算法的正确性。 题目: “数独”是当下炙手可热的智力游戏。一般认为它的起源是“拉丁方块”,是大数学家欧拉于1783年发明的。 ...

蓝桥杯java第六届决赛第二题--五星填数

标题:五星填数 如【图1.png】的五星图案节点填上数字:1~12,除去7和11。 要求每条直线上数字和相等。 如图就是恰当的填法。 请你利用计算机搜索所有可能的填法有多少种...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)