热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

【原创】一个计算斗地主谁必赢谁必输的程序

这个程序的缘由是看到朋友圈里发布了这么一张图:我是个斗地主菜鸟啊,反正一时半会是没看出来到底谁能赢,但是我对这类问题倒是很有兴趣,真好我那阵也写过几个类似这种动态规划算法的程序,于是

这个程序的缘由是看到朋友圈里发布了这么一张图:

blob.png

我是个斗地主菜鸟啊,反正一时半会是没看出来到底谁能赢,但是我对这类问题倒是很有兴趣,真好我那阵也写过几个类似这种动态规划算法的程序,于是我开发了一个小软件来计算题目所述的情况下到底是谁必赢,而且还可以修改能出什么牌的规则,如下图:

blob.png

难点是出牌规则这块,不过最后还是克服了,算出来的结果是地主赢,网上搜了一下答案,符合。当然除了程序猿,一般人很难理解,就打个牌还用弄程序算?我自己看看不就知道谁赢了吗,但是程序的好处嘛就是只要你算法是对的,遇到再多这种类似的问题都是一样解决啊,而且不会出错,秒杀解决。

这不,今年过年在QQ群里又遇到这么一个类似的题目,如下:


 blob.png

在群里还在争论不休的时候,我拿出程序一算,搞定,如下图:

blob.png

我想结果应该是没错吧,后来我就随便看了看源码(VC写的,IDE是VS2005),突然想起来,我有没有把“过”也算到应对的可能里去啊,找找,发现还是有的,放心了,看来当时还是用心的,哈哈。

blob.png

最后给个下载地址:一个计算斗地主谁必赢谁必输的程序.zip


推荐阅读
  • 本文详细介绍如何使用Netzob工具逆向未知通信协议,涵盖从基本安装到高级模糊测试的全过程。通过实例演示,帮助读者掌握Netzob的核心功能。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • Java设计模式详解:解释器模式的应用与实现
    本文详细介绍了Java设计模式中的解释器模式,包括其定义、应用场景、优缺点以及具体的实现示例。通过音乐解释器的例子,帮助读者更好地理解和应用这一模式。 ... [详细]
  • 本文介绍了如何在 Spring Boot 项目中使用 spring-boot-starter-quartz 组件实现定时任务,并将 cron 表达式存储在数据库中,以便动态调整任务执行频率。 ... [详细]
  • 传统上,Java 的 String 类一直使用 char 数组来存储字符数据。然而,在 Java 9 及更高版本中,String 类的内部实现改为使用 byte 数组。本文将探讨这一变化的原因及其带来的好处。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • Docker 环境下 MySQL 双主同步配置指南
    本文介绍了如何在 Docker 环境中配置 MySQL 的双主同步,包括目录结构的创建、配置文件的编写、容器的创建与设置以及最终的验证步骤。 ... [详细]
  • iOS开发 - 解决导航栏子视图损坏问题
    本文介绍了一个在Xcode 5.0.2和iOS 7模拟器环境下,使用Storyboard创建CoreData CRUD应用时遇到的导航栏子视图损坏问题及其解决方案。 ... [详细]
  • 一、MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phaseangle)sqrt(x)࿱ ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • Vue 实现表格分页功能详解
    本文将详细介绍如何在 Vue 中实现表格的分页功能,包括代码示例和具体实现步骤,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了如何使用JavaScript实现面部交换功能,包括基本原理和具体实现步骤。 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • MySQL Server 8.0.28 升级至 8.0.30 的详细步骤
    为了修复安全漏洞,本文档提供了从 MySQL Server 8.0.28 升级到 8.0.30 的详细步骤,包括备份数据库、停止和删除旧服务、安装新版本以及配置相关环境变量。 ... [详细]
author-avatar
透支的灬漂移_255
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有