Division (DFS)UVA725

《基于Yolo算法的火灾检测系统设计与实现》开题报告 在消防安全领域,火灾对生命财产安全构成严重威胁。传统的火灾检测手段存在诸多不足,如误报率高、检测范围有限、响应速度慢等。基于 Yolo 算法的火灾检测系统能够利用深度学习技术,实现对火灾的高效、精准检测,具有重要的现实意义。         从社会安全角度看,该系统可以广泛应用于各类公共场所、工业厂房和居民住宅,实时监测火灾隐患,及时发出警报,为人员疏散和消防救援争取宝贵时间,有效降低火灾造成的人员伤亡和财产损失,保障社会公共安全。 阅读详情

我用DFS解了一下这个题,直接暴力也可以,不过我想练练DFS

然后,,本来应该挺简单的,结果tmp/=10这处位置写错了,一直WA,,然后,,,调了好久,才找出来。

还有就是PE,,格式也有要求........


//思路:每位由0-9进行遍历,判断是否使用过,如未用,选择下一位的数。数位够5以后,计算tmp
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <map>
using namespace std;

int a=0, n, cnt = 0, used[10] = {0};
int flag = 0;

void dfs()
{
    int tmp = a*n, cntt = 0;
//5位
    if(cnt == 5) {
//        cout << a << endl;
        for (int i = 0; i < 10; i++) {
            //    cout << i << " first:" << used[i] <<"       ";
            //    getchar();
            if (used[i])
                cntt++;
        }
 //       cout  << "cntt"<< cntt << endl;
        //不符合要求
       if (cntt != 5 || tmp > 99999) {
            //        cout << a << ":a             cntt:"<< cntt << endl;
            return;
        }
        cntt = 0;

        while (tmp) {
            if (used[tmp % 10] == 0) {
                cntt++;//个数
                used[tmp % 10] = 1;//防止11234
                tmp /= 10;//这部分刚开始的tmp /= 10,写在了if外面,导致WA
            }
            else break;
        }
        if (cntt == 5) {
            flag = 1;
            tmp = a * n;
            printf("%05d / %05d = %d\n", a * n, a, n);
/*            //还原
            while (tmp) {
                used[tmp % 10] = 0;
                tmp /= 10;
            }
            return;*/
        }
        //还原
            tmp = a * n;
            while (cntt--) {
                used[tmp % 10] = 0;
                tmp /= 10;
            }
            //  break;
  /*      for (int i = 0; i < 10; i++) {
            cout << i << " second:" << used[i] <<"       ";}
*/
            return;
    }
//
/*
   map<int, int>test;
    test.clear();
    if(cnt == 5){
        if(tmp >99999 || tmp < 0 || a <0)
            return;
    int b[10], k = 0;
    while(tmp && test[tmp%10]==0) {
        b[k++] = tmp%10;
        test[tmp%10]++;
        tmp/=10;

    }
        if(k != 5 || used[b[0]] || used[b[1]] ||used[b[2]] ||used[b[3]] ||used[b[4]])
        return;
        else {
            flag = 1;
            printf("%05d / %05d = %d\n", a * n, a, n);
        }
    }
*/


    //遍历搜索

    for(int j=0; j<10; j++){
         if(used[j]){
            continue;
        }

        cnt ++;
//        cout  << cnt << endl;
 a = a*10+j;

//        cout << a << ":" << j  << " cnt:" << cnt << endl;

        used[j] = 1;//已用
      //  cout <<  used[j] << "first1:" <<j <<endl;

        dfs();
         cnt--;
        a = floor(a/10);//退一位
        used[j] = 0;//还原
        //cout<<  used[j] << "second2:" <<j << endl;


    }
    return;

}


int main()
{
    int r = 0;
    while(cin >> n && n) {
       if(r > 0)
           printf("\n");//没有这步会PE

        dfs();

        if (flag == 0) {
            printf("There are no solutions for %d.\n", n);
        }
        r++;
        a=0;
        cnt = 0;
        used[10] = {0};
        flag = 0;

    }
    return 0;
}

 

数据分享:中国历年省、市、县行政区划shp(1949~2023年共计75年) 中华人民共和国县级以上行政区沿革》(三册,1949-1983年)“The Atlas of Changes of Administrative Regions of China”;《中华人民共和国行政区划沿革地图集》The yearly publications of “The Administrative Regions”, 1985-2014;每年的出版行政区划简册(1985-2014年)行政区划网:www.xzqh.org。行政区划网:www.xzqh.org。 阅读详情

相关推荐

深入解析FOC电流环PI参数整定:从理论到实践

本文深入解析了FOC(磁场定向控制)中电流环PI参数整定的核心原理与实践方法。文章从永磁同步电机模型出发,详细阐述了基于带宽与零极点对消的工程法及考虑逆变器延迟的二阶系统整定法两种经典策略,并提供了从理论计算到安全上电调试的完整步骤与常见问题解决方案,帮助工程师精准调校电机控制性能。

weixin_29164497的博客 451

(除法)Division UVA - 725

题目链接:Division UVA - 725 思路:枚举0~9的所有排列?没这个必要。只需要枚举fghij就可以计算出abcde,然后判断是否所有数字都不相同即可。不仅程序简单,而且枚举量也从10!=3628800降低至不到1万,而且abcde和fghig加起来超过10位时可以终止枚举。由此可见,即使采用暴力枚举,也是需要认真分析问题的。 代码: #include&lt;iostre...

howell 410

《Ventoy 制作系统安装 U 盘的具体步骤》

然后您可以在电脑的磁盘管理中对 U 盘进行快速格式化,选择 FAT32 或 NTFS 文件系统。至此,Ventoy 系统安装 U 盘就制作完成了。您可以在需要安装系统的电脑上,从 U 盘启动,然后选择相应的系统镜像进行安装。安装完成后,将您需要的操作系统镜像文件(如 Windows、Linux 等的 ISO 格式镜像)复制到 U 盘的根目录。在安装程序中,选择您插入的 U 盘设备,确保选择正确,以免误操作。2. 确认选择的 U 盘盘符正确,防止误操作导致其他磁盘数据丢失。点击“安装”按钮,等待安装完成。

jiyiwangluokeji的博客 2670

UVa 725 Division 【暴力入门】

题目链接:点击打开链接 中文翻译见紫书182页 一开始暴力想到了10个for循环,接着看了看书,5个就够了,写了会感觉好low啊。写完后有bug,debug时感觉好熟悉,突然想到了第二章的习题2-6,果断把5个for循环删掉,改为用一个for从1234到49385循环(abcde / fghij= N, N最小为2,只要循环到98765/2+1就行 )。 这里判断数字是否重复用到了字符数组,

咸鱼の小窝 1017

Palabos User Guide中文解读 | 第一章 | 介绍

译者的话:本人在学习palabos时,发现国内中文资料甚少,恰好网上可以直接搜到palabos user guide这种英文资料,加之时间充裕,便打算开始翻译,能不能完成全本翻译再说,而且文中我也会标记我不确定的地方,以传达意思为主,翻译不当的地方还请各位读者帮忙指正。 Palabos User Guide Release 1.0 r1 Copyright © 2019 University of...

Yulan Fang's notes. 6977

audio框架学习-Audio_Flinger分析

文章目录一、代码位置二、audio服务启动2.1 main服务2.2 audioflinger添加到系统服务中2.3 audioflinger的对外接口 之前记录过audioTrack的笔记,这次继续参考audioFlinger相关的代码并做笔记; 参考文档:https://www.cnblogs.com/innost/archive/2011/01/15/1936425.html和https://blog.youkuaiyun.com/zyuanyun/article/details/60890534?spm=100

永不秃头的程序员的博客 2135

(简单枚举)UVa 725 - Division (小紫P182)

传送门:UVa 725 - Division 目录 代码1 代码2  代码3 (借助sprintf进行枚举,省时又省力) 枚举所有没必要,只需枚举其中的五位就可以计算出另一部分了,如果总位数超过10位,就可以终止枚举了。 我的第一个代码是枚举每一位上的数从0-9逐一枚举(其中涉及到标记的回溯),第二个代码直接从组成的最小数到最大数开始枚举。最后只需判断是否所有数字都不相同。 显然第二...

397

Frida实战:从adb连接到安卓设备参数加密Hook全流程解析

本文详细解析了使用Frida进行安卓应用动态分析的全流程。通过adb连接设备并部署Frida服务端,结合静态分析与动态Hook技术,精准定位并拦截关键函数,特别是针对参数加密等核心逻辑的实时监控与修改,为逆向分析与安全研究提供了高效实战方案。

weixin_29208077的博客 343

UVa 725 - Division

题目:给你一个数字n,用0~9,10个数字组成两个五位数,使得他们的商为n,按顺序输出所有结果。 分析:暴力。直接枚举第二个数字,范围(1000,100000),然后判断即可。 说明:直接搜索应该也可以(⊙_⊙)。 #include #include #include using namespace std; int used[10]; int judge( int a, int

小白菜又菜 7740

HFSS实战项目——Ku波段微带发夹线滤波器

保姆级教程!!!看完必会,非常详细!!!Ku频段5阶切比雪夫微带线带通滤波器的仿真实例。首先介绍了滤波器的技术指标和基本理论知识,重点介绍了滤波器的耦合系数和外部品质因数。建立了谐振器的设计模型、耦合系数与谐振器间距的设计模型、外部品质因数与抽头位置的设计模型和滤波器整体电路的模型。详细介绍了谐振器设计模型的建立步骤。

2401_87464239的博客 3043

第244篇 视觉SLAM后端之BA优化——Bundle Adjustment的原理

本文介绍了SLAM后端优化中的Bundle Adjustment(BA)技术。BA通过同时优化相机位姿和3D路标点位置,最小化重投影误差,解决前端估计的累积误差问题。文章详细讲解了BA的数学原理,包括目标函数构建、Gauss-Newton法和Levenberg-Marquardt法求解过程,以及利用稀疏性和Schur补加速计算的关键技术。对比了全量BA和增量BA的优缺点,并介绍了Ceres、g2o等工程实现工具。BA作为SLAM后端的核心算法,其理解深度直接影响系统性能优化能力。

郑伟强dev的专栏 348

Division UVa 725

AC代码: #include <bits/stdc++.h> using namespace std; int a[10]; bool check(int f,int r) { memset(a,0,sizeof(a)); if(r > 99999) return false; for(int i = 0; i < 5; i++) { a[f % 10...

weixin_44106287的博客 197

CS 188 Project3(RL) Q10:Approximate Q-Learning

实现一个近似的Q-learning学习代理,它学习状态特征的权重,其中许多状态可能共享相同的特征。在qlearningAgents.py中的ApproximateQAgent类中编写实现,它是PacmanQAgent的子类。 注:近似Q-learning学习假设在状态和动作对上存在一个特征函数f(s,a),它产生一个向量f1(s,a) .. fi(s,a) .. fn(s,a)特征值。我们在fe...

大模型与Agent智能体 2655

Uva725 Division【dfs枚举】【例题7-1】

认真思考,利用题意将枚举量降低!

GuoZLH的博客 590

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

uva 725 Division

水题,然而一直PE ~。~ #include<iostream> #include<algorithm> #include<queue> #include<cmath> #include<math.h> #include<string> #include<string.h> #include<map&g...

qq_35752161的博客 409

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Division UVA - 725

题意 思路 枚举fghij,枚举量为30240,再进行判断是否符合要求。dfs和摆动序列,传球游戏方法类似。a[ ]数组储存结果,b[ ]数组判断是否使用过,最后check判断。 code #include<cstdio> #include<cstring> int n; int a[15]; int b[15]; int c[15]; int d[15];...

LaoXiangQ的博客 359

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

UVa725 Division

给一个n,求所有相除正好等于n的五位整数,使它们的数位加起来刚好用尽0~9十个数字。按字典序输出。 分子可由分母算出,所以利用DFS从小到大穷举分母,在分子达到6位时终止枚举。 #include <iostream> #include <cstring> using namespace std; char s[5]; bool taken[10]; bool exc...

qq_34762105的博客 178

UVa 725 Division

总结:题目不难,但写了半天,

ZQDNR 521

Uva725 Division

题意: 每组测试数据输入一个值n,对于每一个测试数据: 你要从0~9中取数给abcde和fghij每个字母赋值(每个数字用且只能用一次),形成两个数abcde和fghij,如果满足abcde / fghij = n,则按格式 xxxxx /xxxxx = n 输出所有可能情况(前导0允许存在而且需要输出);如果没有满足条件的情况则输出相应语句; 思路: 【两眼一闭写暴力】 穷举所

MyNameIsDarrell的博客 443

UVA - 725 Division 暴力

题目:给你一个数字n,用0~9,10个数字组成两个五位数,使得他们的商为n,按顺序输出所有结果。 思路: 我先将符合题目条件的五位数都求出来了,然后枚举符合题目条件的除数,然后求出被除数,看看被除数是否符合条件。 代码写的很啰嗦,其实可以开个100000的数字,将符合条件的数置为1就行。 代码如下: #include &lt;cstdio&gt; #include &lt;cstr...

zamaochick的博客 211

UVA725 除法 Division

这个题简单的思路就是枚举一个数,然后算出另外一个,看看是不是满足题意,我也没仔细挖掘题目的性质,写的代码比较长,时间也不短,不打算再想了。

m0_73035684的博客 255

UVa725 Division

题意 给n,要求给出所有满足条件的0~9的排列,条件是前5个数字组成的数除后5数字组成的数等于n 思路 主要要注意到枚举后5个数字即可,这样通过乘n,可以得到被除数,再判断被除数满足条件与否即可。这种思想在有等式出现的题中很常见,有x个未知数满足一个等式,这样只需枚举x-1个即可,另一个通过等式计算得来。 枚举后5个数字方法也很多,可以直接暴力枚举10000~99999的数再判断满足条件否,这

luke2834的专栏 622

UVA - 725 Division-sprintf的妙用

代码如下: #include <iostream> #include <cstring> #include <cstdio> using namespace std; const int N = 13; bool vis[N]; bool vis2[N]; int n; bool check(int sum_a) { int sum_b = sum_a * n; if (!sum_b) return false; if (sum_b > 99999)

m0_51955470的博客 231

UVA 725 Division

因为这个蓝翔杯,我发现我暴力还是太差了,所以决定开始把紫书上的暴力都做一做。 这道题,不可能枚举十个数字,我们知道了n,枚举除数,得到被除数,验证一下即可。 坑的地方在于,他要求两个输出之间有空格,但是又不是指每个输出后面都有空格,解决方法就是,先定义一个k=0,进入循环后判断k,这样就可以跳过第一次输出空格,后面只要在进入循环就说明前面有个样例已经输出答案,然后输出空行。 #inc

llzhh的博客 224

Division UVA - 725(暴力)

题目链接 直接枚举第一个数字,然后如果可以整除n的话除以n得到第二个数字判断第二个数字是否满足条件,我感觉我的代码好长长长。。。 #include &lt;bits/stdc++.h&gt; #define ll long long #define pb push_back #define inf 0x3f3f3f3f #define rep(i,a,b) for(int i=a;i&lt;b...

城南的花 342

Uva 725 Division(暴力枚举)

题目描述:输入正整数n,按从小到大的顺序输出形如abcde / fghij = n的表达式,其中a~j恰好为0-9的一个排列(可以有前导0),2&lt;=n&lt;=79.找不到这样的解则输出 There are no solutions for n.解题过程:一开始想着用全排列 枚举所有的排列情况(此处实现可以用dfs深搜,也可以用STL的next_permutation来枚举所有排列可能),但...

Hang_ccccc的博客 314
上一篇: A计划 HDU2102
下一篇: Modular Fibonacci
KLFTESPACE
博客等级 码龄9年 66粉丝 655原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值