商人过河问题C语言源码.c

C# xml xsl javascript 的结合使用 web 程序模仿 windows 资源管理器  小弟最近用C#写了一个ASP.NET小应用,使用了一些XML和XSL技术,本应用主要是用ASP.NET应用来模拟一个Windows资源管理器一个窗体左边为动态加载的文件夹树状列表,而右边能查看某些类型的文件的内容 本网战使用了一些图片,请在相册中查找站点主页 index.htm 内容 基于Web的文件查看器 阅读详情

#include<stdio.h>
#include<stdlib.h>
#include<math.h>             /*double pow(x,y)*/


typedef struct S             /*允许状态集合数据类型*/
{
 int x;               /*商人数*/
 int y;               /*随从数*/
 int boat;              /*船位置标志0此岸,1对岸*/
}S;

typedef struct D             /*允许决策集合数据类型*/
{
 int u;               /*渡船上商人数*/
 int v;               /*渡船上随从数*/
 int flag;              /*5种渡河状态标志*/
                 /*(flag=1:u=1,v=1);(flag=2:u=2,v=0);*/
                 /*(flag=3:u=0,v=2);(flag=4:u=1,v=0);*/
                 /*(flag=5:u=0,v=1)*/
}D;

typedef struct LNode            /*状态链表*/
{
 int lx;
 int ly;
 int lboat;
 int lflag;
 struct LNode *front;
 struct LNode *next;
}LNode,*LinkList;

 

void main()
{
 S s;               /*定义允许状态集合s*/
 LinkList p1,p2,p3,search;
 D d;               /*定义决策状态集合d*/
 int n,k,ok;              /*商人数n,渡河次数k,渡河策略状态allFall*/
 clrscr();
 printf("Displaying System of  Trader & Retinue");
 printf("/n   (C)Copyright  LiliSoftWare 1996-2005");
 printf("/n                       Designed by Lili Wang!/n");
 printf("/nPlease input number of trader:");
 scanf("%d",&s.x);
 s.y=s.x;
 n=s.x;
 s.boat=0;              /*第一次渡河前船在此岸*/
 k=0;  ok=0;  ;          /*初始状态量,allFall=0找到策略allFall=1未找到*/
 p1=(LinkList)malloc(sizeof(LNode));        /*构建状态表*/
 p1->lx=s.x;
 p1->ly=s.y;
 p1->lboat=s.boat;
 p1->lflag=0;
 p1->front=NULL;
 p1->next=NULL;
 p3=p1;

 do
 {
  ok=0;              /*开使新一次渡河*/
  k++;              /*渡河次数加1*/
  d.flag=1;             /*每次都从第一种渡河策略开始判断*/
  do
  {
RELLOW:
   switch(d.flag)
   {
   case 1: d.u=1;d.v=1;break;
   case 2: d.u=2;d.v=0;break;
   case 3: d.u=0;d.v=2;break;
   case 4: d.u=1;d.v=0;break;
   case 5: d.u=0;d.v=1;break;
   default:
     p2=p3->front;free(p3);       /*没有策略符合回到前一次状态*/
     p3=p2;p3->next=NULL;
     if(p3==NULL)
     {
      printf("/nNo answer!");
      getch();
      exit(0);
     }
     else
     {
      s.x=p3->lx;s.y=p3->ly;s.boat=p3->lboat;
      d.flag=p3->lflag;
      d.flag++;
      k--;
      /*goto RELLOW;*/
      continue;
     }

   }/*switch*/
  s.x+=(int)(pow(-1,k))*d.u;
  s.y+=(int)(pow(-1,k))*d.v;
  if(s.boat==0)
   s.boat=1;
  else
   s.boat=0;

  if((s.x==s.y||s.x==0||s.x==n)&&s.x<=n&&s.y<=n&&s.x>=0&&s.y>=0)/*附和允许状态集合*/
  {
   search=p1;

   for(;(search->lx!=s.x||search->ly!=s.y||search->lboat!=s.boat)&&search!=NULL;search=search->next);

   if(search!=NULL)          /*若状态已在表中则为死循环,放弃该策略*/
   {
    d.flag++;
    s.x=p3->lx;           /*恢复s状态*/
    s.y=p3->ly;
    s.boat=p3->lboat;
    continue;
   }
   else
   {
    /*状态不在表中,该策略可行*/
    ok=1;            /*置标志*/
    p2=(LinkList)malloc(sizeof(LNode));     /*将该状态放入允许状态表*/
    p2->next=NULL;
    p2->lx=s.x;
    p2->ly=s.y;
    p2->lboat=s.boat;
    p2->lflag=0;
    p3->next=p2;
    p2->front=p3;
    p3->lflag=d.flag;
    p3=p2;
   }/*else*/
  }/*if*/
  else              /*不在允许状态集合*/
  {
   d.flag++;
   s.x=p3->lx;            /*恢复s状态*/
   s.y=p3->ly;
   s.boat=p3->lboat;

  }

  }while(ok!=1);/*选择每次渡河策略*/

 }while(s.x!=0||s.y!=0);/*全部过河*/

 p3=p1;

 p1=p1->next;
 for(;p1!=NULL;p1=p1->next)
 {
  /*printf("/ntrader:%d,retinue:%d,boat:%d",p1->lx,p1->ly,p1->lboat);*/  /*这是允许状态集合,去掉注释符即可显示*/
  if(p1->lboat==1)
  {
   printf("/nS(trader:%d,retinue:%d):",p1->lx,p1->ly);  /*允许状态集合*/
                 /*渡河策略*/ 
   printf("      trader:%d,retinue:%d   ->",abs((p1->front)->lx-(p1->lx)),abs((p1->front)->ly-(p1->ly)));
  }
  else
  {
   printf("/nS(trader:%d,retinue:%d):",p1->lx,p1->ly);  /*允许状态集合*/
                 /*渡河策略*/
   printf("      trader:%d,retinue:%d   <-",abs((p1->front)->lx-(p1->lx)),abs((p1->front)->ly-(p1->ly)));
  }

  getch();
 }
 printf("/n   Success!!!");
 getch();

 while(p3!=NULL)             /*释放内存*/
 {
  p1=p3;
  p3=p3->next;
  free(p1);
 }

}


 

3、ASP.NET Web开发:解决方案资源管理器与代码实现详解 本文详细介绍了在ASP.NET Web开发中使用解决方案资源管理器进行项目管理和代码实现的方法。内容涵盖解决方案资源管理器的功能、常见操作流程、代码和设计窗口的使用,以及如何创建一个简单的股票报价Web应用程序。同时,还提供了开发过程中常见问题的解决方法和实践建议,旨在帮助开发者提高效率并构建高质量的Web应用。 阅读详情

相关推荐

3、深入了解 Azure 资源管理器及相关工具

本文深入介绍了 Microsoft Azure 资源管理器(Azure Resource Manager,简称 ARM)及相关工具的使用方法。内容涵盖了 Azure 平台的执行模型、应用构建块和数据服务三大组成部分,并详细讲解了资源组的概念及其创建流程、资源添加方式、标签与锁定机制的应用,以及 ARM 模板的导出与开发实践。文章还总结了资源管理的最佳实践和常见问题解答,旨在帮助 IT 专业人员和开发人员更高效地利用 Azure 平台进行资源管理和自动化部署,提升工作效率并为企业创造更大价值。

yog99的博客 70

【源码商人】课设毕设无忧,助你轻松过关!

源码商人,作为一个专业的计算机源码分享网站. 网址: pigcoding点host3v点club(请复制粘贴到浏览器中打开) 1. 1对1安装运行:确保你能够轻松上手,顺利运行所购买的源码。 2. 1对1代码讲解:深入解析代码逻辑,帮助你更好地理解项目结构和技术细节。 3. 1对1文章辅导:如果你需要撰写与项目相关的技术文档或报告,我们将提供专业的辅导服务。 4. 1对1售后答疑:购买源码后,你将享受到长期的售后支持,无论遇到任何问题,我们都会及时为你解答。

2401_89092593的博客 524

商人过河问题

商人安全过河问题的c++实现。 问题: 三名商人各带一个随从过河,一只小船只能容纳两个人,随从们约定,只要在河的任何一岸,一旦随从人数多于商人人数就杀人越货,但是商人们知道了他们的约定,并且如何过河的大权掌握在商人们手中,商人们该采取怎样的策略才能安全过河呢?

数学模型 商人过河问题 C++实现

数学模型 商人过河问题 C++实现 问题描述 ​ 将过河问题抽象为一个数学问题,安全渡河即为一个多步决策问题,在安全的前提下,每一步都考虑船上的商人与随从人数情况。 ​ 决策问题通常从考虑状态,决策,状态转移方程入手。 状态 ​ 设sk=(xk,yk)s_k=(x_k,y_k)sk​=(xk​,yk​)表示第kkk次渡河前此岸的商人数与随从数,显然有xk,yk=0,1,2,3;k=1,2,⋯x_k,y_k=0,1,2,3;k=1,2,\cdotsxk​,yk​=0,1,2,3;k=1,2,⋯。 ​

kmzy_hnu的博客 2252

商人过河问题的C语言程序

数学建模中经典问题商人过河问题的C语言源代码,绝对是自己想出来的算法,比枚举算法的时间复杂度要小得多,算法中运用了队列作为存储结构,自己感觉非常的巧妙,我很快就会将该算法用MATLAB进行实现,并将其功能在MATLAB程序中进行扩充,敬请关注! 希望广大朋友给我提出意见和建议,Email:liang.wang.hubei@gmail.com,谢谢

商人过河问题C语言源码

商人过河问题是数学建模中的一个经典问题,程序利用链表存储渡河状态,使用穷举的算法实现。该算法会找出N个商人/随从渡河的一个可行方案,但并不保证是最佳方案。写完这个程序后让我想到的居然是图的深度优先搜索,二者在查找的思想上是类似的。

3强盗3商人过河问题

点击上方“罗晓胜”,马上关注,您的支持对我帮助很大 上期文章 Executor多线程与定时任务 有趣问题——双人硬币游戏 / 智力题 / 3个商人和3个强盗要过一条河,如果在河的任意一边商人数目比强盗少,商人就会被抢劫,如何过河? 河边有一只小船 小船上原本无人 小船最多能坐2人 他们都不会去游泳 要保证商人不会被抢劫 / 过渡 / / ...

微信公z号: 罗晓胜,分享技术干货和有趣视频​ 2587

Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案

大语言模型本地部署是AI工程化落地的关键环节,其核心在于推理框架兼容性、硬件加速适配性与端到端稳定性。Ollama作为轻量级模型运行时,原生支持Windows DirectML与CUDA,规避了Docker/WSL2虚拟化开销和llama.cpp编译风险;Qwen3-14B则凭借128K上下文、Tool Calling原生支持及中文长文本结构化能力,成为政务、金融等场景首选。本文聚焦Windows平台真实约束——显存阈值、驱动版本匹配、路径编码兼容、离线知识库集成(RAG)等工程细节,提供经63台Windo

weixin_32136203的博客 413

源码商城交易平台源码 上百种商用级源码可二开 总有一款适合你

分享一个源码商城交易平台,里面含各种可直接商用的源码系统,有小程序源码、微信公众号源码、直播系统源码、商城源码、网站源码等等,每套系统都含完整的搭建教程和完整的代码包,让你轻松搭建。当今信息化时代,源码商城交易平台 源码不仅可以帮助开发者快速搭建自己的平台,省去一步步开发代码的麻烦,还可以满足各种商用需求,根据需求进行二次开发。

duizhangdaren的博客 2007

用Logisim搞定华科计组实验:单总线CPU设计从微程序到硬布线的保姆级通关攻略

本文详细介绍了如何使用Logisim完成华中科技大学计算机组成原理实验中的单总线CPU设计,涵盖从微程序控制器到硬布线控制器的完整实现过程。通过MIPS指令译码器设计、微程序控制原理、状态机实现等关键步骤的保姆级教程,帮助学生掌握CPU设计的核心技能,并提供Educoder平台提交与调试的实用技巧。

weixin_30897233的博客 476

使用HFSS仿真分支波导耦合器

本文介绍了分支波导耦合器的HFSS仿真设计过程。首先给出了器件关键参数(t=0.365mm,l=1.600mm等),详细说明了建模步骤:包括创建中心分支、设置变量参数、镜像复制两侧分支、矩形波导端口设计等操作。重点阐述了激励端口设置方法,包括四个端口的积分线绘制,以及求解频率设定。最后展示了S参数、幅度平衡度和相位差等关键性能指标的仿真结果提取方法。整个设计过程体现了HFSS在微波器件仿真中的参数化建模和结果分析能力。

shao666888的博客 180

web 资源管理器相关产品

今天突发奇想,用web来操作资源管理器是一件多么美妙的事情,于是就在网上找了一下,发现还真有。 下面就来介绍一下,采用的技术全部是ajax+php,好像没有java的份,不知道是不是java不太擅长,管理的系统没有发现是windows的,如果有人发现告诉我一声啊。 webfmt: 网站:http://webfmt.com/ 先看一下截图把 感觉是不是很不错,看了一下照片,感觉是一个中...

web开发 104

GBT 27930-2015/2023国标充电协议A类CAN报文ID说明

国标充电CAN的ID,仅供学习参考。

qqq080的博客 7819

【软件相关】基于Alist挂载云盘到本地文件资源管理器

因为最近在研究各种云盘存储影视资源的方法,无意间看到一个教程是利用软件将云盘挂载到本地的资源管理器,这样就能实现类似本地文件操作的方式来操作云盘文件,还是有点意思的。

记录学习成长之路,进一寸有进一寸的欢喜 5881

【Collibra 驱动 IPD 数据血缘治理】:三层图谱分层展示体系与全链路追踪的技术业务实践

(应用级/数据级/字段级)是理解复杂数据流动的核心手段。其价值不仅体现在可视化的直观性,更在于通过。技术保障血缘不可篡改性,进一步提升IPD数据治理的可靠性。,解决了跨层级血缘分析的性能与可用性矛盾。数据血缘图谱要素定义(字节跳动/腾讯云/信安标委)实现对IPD数据的精准追踪,而数据血缘图谱的。分层交互设计标准(智慧城市数据中台规范)Collibra技术文档(2024)字段级血缘的挑战与解决路径。自动优化血缘路径,并深化。字段级血缘技术实现方案。Collibra通过。图数据库性能优化原理。

百态·数智思维 | 聚焦大数据、量化与未来AI 1244

峰值电流模式CCM BUCK的传递函数推导

电流内环闭环传递函数: Gci(s)=i^L(s)v^comp(s)=FmGid(s)1+KRiHe(s)FmGid(s)=1Ri11+s[mcL+(0.5VIN−Vo)RiVINRifSW]+s21(πfSW)2 G_{ci}(s)=\frac{\hat i_{L}(s)}{\hat v_{comp}(s)}=\frac {F_mG_{id}(s)}{1+KR_iH_e(s)F_mG_{id}(s)}=\frac{1}{R_i}\frac{1}{1+s[\frac{m_cL+(0.5V_{IN}-V_o)

c007106333的博客 2360

web页资源管理器视图

&lt;html&gt; &lt;head&gt; &lt;title&gt;资源管理器视图&lt;/title&gt; &lt;style&gt;.ms-httpFolder {        BEHAVIOR: url("#default#httpFolder") } &lt;/style&gt; &lt;meta name="Microsoft Border"

weixin_34342905的博客 306

清华源pip install出现ERROR: Could not find a version that satisfies the requirement的解决方案

本文主要介绍了清华源pip install出现ERROR: Could not find a version that satisfies the requirement的解决方案,希望能对学习python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 8万+

为资源管理器文件右键菜单增加 使用 Web 搜索 功能

欢迎使用文件右键菜单增强工具。本插件用于在右键菜单中让您快速调用在线搜索引擎进行查找。 本程序由无障碍专家张赐荣先生编写,为提升视障朋友操作电脑效率特开发该软件并开源。 张赐荣长期专注于视障群体的数字化使用体验改善研究工作。 他参与并推动了多款主流互联网产品的无障碍改造,涵盖移动端、桌面端及多种类辅助技术场景。 作为一名视障程序员,他在技术实践、标准倡导和行业推广方面具有代表性影响力,致力于推动数字产品的普惠可及。

张赐荣的技术博客 91

090、Sensor上电时序与帧同步的驱动级实现——以索尼IMX766为例的AVDD/DVDD/IOVDD时序调优

摘要: 本文以索尼IMX766传感器为例,深入探讨了传感器上电时序与帧同步的驱动级实现问题。通过分析某车载项目量产中的高温黑屏故障,揭示了AVDD/DVDD/IOVDD时序偏差导致传感器内部状态机异常的根源。文章详细解读了IMX766三路电源的时序约束(如AVDD与DVDD需在1ms内同步至90%),并提供了驱动代码级实现方案,包括电源使能顺序、延时控制及帧同步配置。针对多摄同步场景,强调了曝光时间寄存器写入一致性的重要性。最后结合产线问题定位经验,提出通过示波器抓取电源波形验证时序合规性的方法。全文聚焦硬

zzfmlxs的博客 260

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【转】什么是 Azure 资源管理器

什么是 Azure 资源管理器? 2020/09/01 Azure 资源管理器是 Azure 的部署和管理服务。它提供了一个管理层,用于在 Azure 帐户中创建、更新和删除资源。部署后,可以使用访问控制、锁和标记等管理功能来保护和组织资源。 若要了解 Azure 资源管理器模板,请参阅模板部署概述。 一致的管理层 当用户从任意 Azure 工具、API 或 SDK 发送请求时,资源管理器将会接收该请求。它会对该请求进行身份验证和授权。资源管理器将请求发...

sinolover的专栏 819

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ResX资源管理器开源项目教程

ResX资源管理器是一个用于集中管理所有基于ResX的资源文件的开源工具。它支持.NET应用程序的本地化,提供了一个用户友好的界面来浏览和编辑资源文件。该工具在Visual Studio市场中评分很高,被广大开发者所推崇。通过该工具,开发者可以轻松地查看和编辑所有语言的资源字符串,并支持WPF、Web应用(如使用TypeScript的Angular)以及Xamarin应用的本地化。 ## 2. ...

gitblog_00405的博客 506

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

在Web界面下如何生成像资源管理器一样的树形目录(转)

树形目录显示程序问题描述:在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变成一个图)。当我们对这个表进行显示,编辑时,如果不采用好的表现形式,会显得很笨拙,为此,...

csdn785029689的博客 585
上一篇: Web2.0盈利模式:从虚拟社区到精准营销平台
下一篇: Flash MX游戏制作常用代码解析
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值