原始社会 算法问题

问题描述

问题:写个算法:部落酋长如何能交换到斧头描述:酋长有颗宝石,想换把斧头巫师很多水果,想换宝石猎人有猎物羚羊,想换水果小朋友有把斧头,想换猎物羚羊表名称:sku字段:idnamehaveWantTo--------------------------------------1酋长宝石斧头2巫师水果宝石3猎人羚羊水果4小朋友斧头羚羊要求:1:程序处理可以使用简单的伪代码实现2:SQL语句需要写完整

解决方案

解决方案二:
做作业的,怎么那么多。
解决方案三:
你认为CSDN是个求代码的地方么?
解决方案四:
不是呀
解决方案五:
哦,我是想看大家的思路是什么,总觉的自己的效率不高
解决方案六:
引用3楼edison4555的回复:

不是呀

不会!帮顶咯!
解决方案七:
引用2楼bao110908的回复:

你认为CSDN是个求代码的地方么?

解决方案八:
两种方法:1、如果是ORACLE数据库,直接startwithconnectby就能把所有递归东西拿出来,用法不具体说了2、SQL+JAVA处理如下:数据结构:StuctureExchange:(ID,Name,have,WantTo)数据取得:Data:List<Exchange>list="SelectID,Name,have,WantTofromCityOrderbyhave";StringBufferoutput=newStringBuffer();firstNode=(Exchange)list.get(0)visit(firstNode.WantTo);//递归算法privatevoidvisit(IntegerWantTo){for(Exchangenode:list){if(node.have==WantTo){output.append(WantTo+"->"+node.name+"."+node.have+"n");list.remove(node);if(!"斧头").equals(node.have))visit(node.have);return;}}}

解决方案九:
递归调用!
解决方案十:
用oracle的循环查询

时间: 2024-12-21 02:21:27

原始社会 算法问题的相关文章

《身价翻倍的最短路径算法》-我爱加班,你们也要爱加班_励志篇

我爱加班,你爱加班么?答案更多的一定是"否"."别人都走了我为什么留下?","这种公司不值得我为他付出","他只给了我8小时的工资","我上次为公司加班那么久,这次还来?我付出了,公司何时付出呢?","C蛋经理,就冲他那德行,老子就不加班"...... . 地瓜的观点一:不爱加班是一种心理障碍 不爱加班是一种心理障碍,这层障碍就像纸一样薄,你只用一分钟就可以改变自己,我将在本文中尝试帮你

python实现马耳可夫链算法实例分析

  本文实例讲述了python实现马耳可夫链算法的方法.分享给大家供大家参考.具体分析如下: 在<程序设计实践>(英文名<The Practice of Programming>)的书中,第三章分别用C语言,C++,AWK和Perl分别实现了马耳可夫链算法,来通过输入的文本,"随机"的生成一些有用的文本. 说明: 1. 程序使用了字典,字典和散列可不是一个东西,字典是键值对的集合,而散列是一种能够常数阶插入,删除,不过可以用散列来实现字典. 2. 字典的setd

php-perl哈希算法实现

 php-perl哈希实现算法–DJBX33A(Daniel J. Bernstein, Times 33 with Addition)APR哈希默认算法  代码如下: APR_DECLARE_NONSTD(unsigned int) apr_hashfunc_default(const char *char_key,                                                       apr_ssize_t *klen) {     unsigned i

openssl使用DSA算法生成签名

  命令: openssl> dgst -dss1 -sign C.pri -out signature.bin s.txt 解释 C.pri是DSA算法生成的私钥文件 s.txt是制作签名的原文 signature.bin是生成的签名文件 php中可以使用下面的方法察看签名内容  代码如下   <?php echo bin2hex(file_get_contents('signature.bin')); ?> 参考内容 消息摘要算法 支持的算法包括:MD2, MD4, MD5, MDC

求按百分比抽取数据算法

问题描述 求按百分比抽取数据算法 我有个需求 要求用百分比抽取数据以达到数据审阅的目的 我做了一个简单的程序但达不到要求 <?php header('Content-Type: text/html; charset=utf-8'); //抽取算法 for($kou=1;$kou<=100;$kou++){ $kou_count=0; for($i=1;$i<=100;$i++){ $key=($i)%(100/$kou); if( intval( $key ) == 0){ //echo

请教各位算法大神,acm一道题:赋权无向图的最小权值遍历用什么算法(存在负权值)?

问题描述 请教各位算法大神,acm一道题:赋权无向图的最小权值遍历用什么算法(存在负权值)? 1C 如题,问题是这样的:有一赋权无向连通图,可以从任意一结点出发,求遍历所有结点的最小权值路线.结束点也是任意的,每个节点也没有访问次数的限制,但必须每个节点都要被访问到.,想问一下用什么算法呢? 解决方案 可以参考djstera算法,求最短路径~借鉴其中的标记功能,只不过结束状态标志是所有节点均已遍历. 解决方案二: 可以参考djstera算法,求最短路径~借鉴其中的标记功能,只不过结束状态标志是所

RSA算法介绍

2.1.1     算法实现 首先, 找出三个数, p, q, r,其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数.p, q, r 这三个数便是 private key 接著, 找出 m, 使得 rm == 1 mod (p-1)(q-1) 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了 再来, 计算 n = pq m, n 这两个数便是 public key 编码过程是, 若资料为 a, 将其看成是一个大整数, 假设 a

PHP 四种基本排序算法的代码实现(1)

许多人都说算法是程序的核心,算法的好坏决定了程序的质量.作为一个初级phper,虽然很少接触到算法方面的东西.但是对于基本的排序算法还是应该掌握的,它是程序开发的必备工具.这里介绍冒泡排序,插入排序,选择排序,快速排序四种基本算法,分析一下算法的思路. 前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序. $arr(1,43,54,62,21,66,32,78,36,76,39); 1. 冒泡排序 思路分析:在要排序的一组数中,对当前还未排好的序

二叉树遍历算法之一:前序遍历

递归实现前序遍历 二叉树的前序遍历是指从根节点出发,按照先根节点,再左子树,后右子树的方法遍历二叉树中的所有节点,使得每个节点都被访问一次. 当调用遍历算法的时候前序遍历的具体过程如下: 首先访问根节点,如果根节点不为空,执行输出语句,打印根节点的值. 如果左子树不为空,则访问根节点的左孩子,并输出根节点做孩子的值 继续访问根节点的左孩子的左孩子,如果不为空则继续输出该左孩子的值: 如果这时左孩子为空,说明该节点是叶子节点,则按照先左孩子后右孩子的访问方式访问其左右孩子,如果不为空就打印输出 左