bzoj1028

Zemax API 与 Python 的独立应用程序 Zemax 提供了多个 python 示例代码,位于 Documents\Zemax\ZOS-API Sample Code\Python。使用以下代码,它们保存在 ZOS 文件目录中:/Documents\Zemax\Samples\API\Python。此代码块定位已安装的 OpticStudio 版本,确定根目录,创建命名空间和类,加载局部变量。如果定义的镜头需要一些特殊的编辑,例如反转,一种快速方法是从位于编程选项卡的 ZOS-API 语法帮助中找到相应的命令。重新运行整个代码块,镜头方向会改变。 阅读详情

1028: [JSOI2007]麻将

Time Limit: 1 Sec   Memory Limit: 162 MB
Submit: 307   Solved: 135
[ Submit][ Status][ Discuss]

Description

麻将是中国传统的娱乐工具之一。麻将牌的牌可以分为字牌(共有东、南、西、北、中、发、白七种)和序数牌(分为条子、饼子、万子三种花色,每种花色各有一到九的九种牌),每种牌各四张。在麻将中,通常情况下一组和了的牌(即完成的牌)由十四张牌组成。十四张牌中的两张组成对子(即完全相同的两张牌),剩余的十二张组成三张一组的四组,每一组须为顺子(即同花色且序数相连的序数牌,例如条子的三、四、五)或者是刻子(即完全相同的三张牌)。一组听牌的牌是指一组十三张牌,且再加上某一张牌就可以组成和牌。那一张加上的牌可以称为等待牌。  在这里,我们考虑一种特殊的麻将。在这种特殊的麻将里,没有字牌,花色也只有一种。但是,序数不被限制在一到九的范围内,而是在1到n的范围内。同时,也没有每一种牌四张的限制。一组和了的牌由3m + 2张牌组成,其中两张组成对子,其余3m张组成三张一组的m组,每组须为顺子或刻子。现给出一组3m + 1张的牌,要求判断该组牌是否为听牌(即还差一张就可以和牌)。如果是的话,输出所有可能的等待牌。

Input

包含两行。第一行包含两个由空格隔开整数n, m (9<=n<=400, 4<=m<=1000)。第二行包含3m + 1个由空格隔开整数,每个数均在范围1到n之内。这些数代表要求判断听牌的牌的序数。

Output

输出为一行。如果该组牌为听牌,则输出所有的可能的等待牌的序数,数字之间用一个空格隔开。所有的序数必须按从小到大的顺序输出。如果该组牌不是听牌,则输出"NO"。

Sample Input

9 4
1 1 2 2 3 3 5 5 5 7 8 8 8

Sample Output

6 7 9



首先枚举加了哪张牌

再枚举哪个是一对

然后贪心判断剩下的是否能凑成m对

贪心策略为从小到大看当前牌模3剩下的是否能跟跟他连着的两个牌配对


#include <iostream>
using namespace std;
int n,m,a[403],b[403],i,j,k,w,c[403];
bool ok;
int main ()
{
    cin >> n >> m;
    for (i=1;i<=3*m+1;i++)
    {
        cin >> k;
        a[k]++;
    }
    w=0;
    for (i=1;i<=n;i++)
    {
        a[i]++;
        for (j=1;j<=n;j++)
            if (a[j]>=2)
            {
                    for (k=1;k<=n;k++) b[k]=a[k];
                    b[j]-=2;
                    ok=true;
                    for (k=1;k<=n;k++)    
                    {
                        b[k]%=3;
                        if ((k+2>n)&(b[k]!=0))
                        {
                           ok=false;
                           break;
                        }
                        if ((b[k+1]<b[k])||(b[k+2]<b[k]))
                        {
                           ok=false;
                           break;
                        }
                        b[k+1]-=b[k];
                        b[k+2]-=b[k];
                    }
                    if (ok) break;
            }
        a[i]--;
        if (ok)
        {
               w++;
               c[w]=i;
        }
    }
    if (w==0) cout << "NO";
    else
    {
        cout << c[1];
        for (i=2;i<=w;i++) cout << " " << c[i];
    }
}


CLASSB类移植(满足IEC 60730-1和60355-1标准) 针对软件认证需要满足IEC 60730-1和60335-1标准,ST公司专门提供的软件扩展包X-CUBE-CLASSB,它包含自测库和文档,支持多种STM32系列芯片,通过预集成测试库和标准化流程,帮助开发者快速满足国际安全标准,适用于家电、工业控制等高可靠性场景。ClassB软件包程序检测内容分为两个主要部分:启动时的自检和运行时的周期自检,MCU在上电的时候会进行复位启动,在启动完成以后会进行运行自检。 阅读详情

相关推荐

GNSS差分码偏差(DCB)从原理到实战:如何避免数据处理中的常见错误

本文深入解析GNSS差分码偏差(DCB)的原理及其对高精度定位的关键影响。针对数据处理中因忽略DCB校正导致的常见错误,如单系统PPP高程偏差、多系统融合精度下降及电离层研究失真等,提供了实战解决方案与主流DCB产品获取、集成方法,帮助用户有效规避陷阱,提升数据处理精度。

k5l6m的博客 224

BZOJ 2963 麻将 DFS+动态规划

题目大意:给定一副不全的麻将,从中摸取1414张,求和牌的概率,牌型包括一般牌型/七対子/国士無双这傻逼题我从昨天中午写到现在……答案是分数形式,我们求出和牌的方案数和总方案数C14nC_n^{14},约分一下即可 比较好的一件事情就是C14n≈4.25∗1018C_n^{14}≈4.25*10^{18},刚好不爆long long由于和牌牌型分为三类,所以一般的思路是分别计算三类牌型的概率,然后

世界 3091

Flutter加载本地HTML的优雅解决方案:轻松实现富文本展示

通过以上步骤,我们实现了Flutter加载本地HTML的完整流程,并简单介绍了如何通过WebView与HTML页面进行交互。HTML文件作为一种灵活、易维护的富文本展示方式,能有效提升Flutter应用的内容呈现能力。这种方法在展示新闻、资讯或帮助文档等内容时非常有用,能够让开发者灵活调整内容的样式和排版。希望这篇文章能对你在Flutter开发中的HTML加载有所帮助!

四楼没电梯的专栏 3644

[bzoj1028] [JSOI2007]麻将

Description   麻将是中国传统的娱乐工具之一。麻将牌的牌可以分为字牌(共有东、南、西、北、中、发、白七种)和序数牌(分为条子、饼子、万子三种花色,每种花色各有一到九的九种牌),每种牌各四张。在麻将中,通常情况下一组和了的牌(即完成的牌)由十四张牌组成。十四张牌中的两张组成对子(即完全相同的两张牌),剩余的十二张组成三张一组的四组,每一组须为顺子(即同花色且序数相连的序数牌,例如条子的三...

weixin_30642869的博客 257

Claude Code 使用 OpenAI Codex(GPT-5.3-Codex)完整配置教程

通过 LiteLLM 可以让 Claude Code 调用任何模型,包括:OpenAIDeepSeekGemini本地模型↓↓优点:不依赖 Anthropic API可自由切换模型支持统一 AI Gateway这种“LLM Gateway 架构”正在成为 AI 开发工具的主流实践。

Jacobe_zhao的博客 1万+

R语言分段回归

1.利用虚拟变量进行线性回归 (MEdata.csv的数据来源:https://github.com/ChenQihome9/优快云-Data-Library/blob/master/MEdata.csv) 问题13:针对TAX~GDP,使用分段回归方法,找到其回归方程。编程,并根据程序结果叙述如下几方面问题:(1)分几段最佳?(不超过5段内)(2)分段位置定在哪儿最佳?(3)写出最佳方...

ChenQihome9的博客 1万+

[JSOI2007]麻将

[JSOI2007]麻将 题目 麻将是中国传统的娱乐工具之一。麻将牌的牌可以分为字牌(共有东、南、西、北、中、发、白七种)和序数牌(分为条子、饼子、万子三种花色,每种花色各有一到九的九种牌),每种牌各四张。在麻将中,通常情况下一组和了的牌(即完成的牌)由十四张牌组成。十四张牌中的两张组成对子(即完全相同的两张牌),剩余的十二张组成三张一组的四组,每一组须为顺子(即同花色且序数相连...

weixin_30408309的博客 165

robot framework循环读取excel表操作

robot framework循环读取excel表操作 1、安装excellibrary,注意python3.7版本,需安装:robotframework-excel,robotframework-excellibrary-xwfintech 注意:网上有很多excel处理的,都是基于python2.7的,还有一些对python3以上都是修改包的方式,其实都不需要,在pip官网上有python3以上的excellibrary,名称是robotframework-excellib 2.0.0,但是该包关键字不

余墨的博客 1320

BZOJ1028

BZOJ1028 题目 BZOJ1028 分析 nnn 的范围较小,可以暴力枚举。。 第一层循环枚举缺的那个和牌的数字,判断加上那个数字能否和牌。 第二层循环枚举对子牌,判断是否有个数大于等于 222 的数字当对子牌。若可以,判断能否组成顺子能刻子,先考虑刻子,原因是顺子牌构成需要其他牌的辅助,而其他的牌不一定存在,所以优先自己解决,这样更容易和牌。 第三层循环判断顺子、刻子。 时间复...

strategist_614的博客 250

# YOLOv11-seg改进系列 | 引入CVPR MetaFormer的C3k2_PoolingFormerCGLU模块,池化Token混合+CGLU门控MLP

本文引入 CVPR 2022 论文(MetaFormer/PoolFormer)提出的 MetaFormer 元架构设计,以Pooling Token 混合器 + ConvolutionalGLU(CGLU)MLP构成,将其封装为,用于替换 YOLOv11-seg 的 C3k2 块。对比维度C3k2(基线)C3k2_PoolingFormerCGLU(本文)参数量(n scale)2.46M≈2.49M9.6≈9.69.7(+1.0%)架构范式单阶段卷积MetaFormer 双阶段。

qq_44224801的博客 846

vLLM 显存泄漏与 OOM 深度排查:从日志到火焰图

系统性地排查 vLLM 运行中的显存泄漏和 OOM 问题,包括 CUDA 内存快照、PyTorch 内存分析器、火焰图工具。

kaixin110a的博客 187

bzoj1028 [JSOI2007]麻将

1028: [JSOI2007]麻将 Time Limit:1 SecMemory Limit:162 MBSubmit:1337Solved:601[Submit][Status][Discuss] Description 麻将是中国传统的娱乐工具之一。麻将牌的牌可以分为字牌(共有东、南、西、北、中、发、白七种)和序数牌(分为条子、饼子、万子三种花色,每种...

anmob303090的博客 182

ZYNQ microblaze boot.bin固化步骤

一,ZYNQ移植软核的原理FPGA规模巨大而且功能复杂,因此设计的每一个部分都从头开始是不切实际的。一种解决的办法是:对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。这就像是你在开发应用程序的时候就不用直接去写驱动物理硬件的代码,而是直接调用Windows提供的API就行了。

wangjie36的博客 2782

[bzoj1028][JSOI2007]麻将【暴力】【贪心】

【题目链接】   http://www.lydsy.com/JudgeOnline/problem.php?id=1028 【题解】   枚举听哪张牌,再枚举将牌是哪一对。   在从前往后贪心判断是否正确,方法是:     能取刻子尽量选刻子,剩下的与后面组成顺子。  时间复杂度:O(n3n3) /* -------------...

dizhengyue1902的博客 179

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

[BZOJ 1028] [JSOI2007] 麻将 【枚举+贪心判断】

题目链接:BZOJ - 1028 题目分析 枚举听的是哪种牌,再枚举成对的是哪种牌,再贪心判断: 从1到n枚举每一种牌,如果这种牌的个数小于0,就返回不合法。 将这种牌的张数 % 3, 剩下的只能和 i + 1, i + 2 这两种牌构成顺,所以 Num[i + 1] -= Num[i]; Num[i + 2] -= Num[i]; 牌的种类要枚举到 n + 2,因为第 n - 1...

weixin_30613433的博客 82

OV9734 DATASHEET,完整规格书

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

bzoj 1028 //1028: [JSOI2007]麻将

bzoj 1028 //1028: [JSOI2007]麻将 //在线测评地址https://www.lydsy.com/JudgeOnline/problem.php?id=1028 更多题解,详见https://blog.youkuaiyun.com/mrcrack/article/details/90228694BZOJ刷题记录 //1028: [JSOI2007]麻将 //在线测评地址ht...

mrcrack的博客 371

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【BZOJ】【1028】【JSOI2007】麻将

暴力/模拟   $n\leq400$,嗯……这是一个很小的数据范围= =   判断一副牌是不是听牌并求出听什么牌太麻烦了,干脆我们直接判是不是胡牌好了~   枚举胡的是哪张牌,然后判一下加上这张牌后是否能胡。   算法框架很好写: 1 F(i,1,n){ 2 a[i]++; 3 if (check()) ans[++tot]=i; 4 a[i]--;...

weixin_30363509的博客 129

BZOJ 1028

题目链接: 这里写链接内容 解题方法: 看到n的范围似乎比较小,所以我们可以枚举加入一张牌,然后判断能不能胡。判断的时候依然枚举每一个作为对子,然后扫一遍判断,每一张牌优先考虑组成刻,再考虑于后面的组成顺!复杂度O(n^3)代码如下:#include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a;

I good vegetable a! 421

[BZOJ 1028][JSOI 2007] 麻将 模拟+贪心思想

题目传送门:【BZOJ 1028】题目大意: 这里,我们考虑一种特殊的麻将。在这种特殊的麻将里,没有字牌,花色也只有一种。但是,序数不会被限制在 1 到 9 的范围内,而是在 1 到 n 的范围内。同时,也没有每一种牌恰好四张的限制。一组和了的牌由 3m + 2 张牌组成,其中两张组成对子,其余 3m 张组成三张一组的 m 组牌,每组须为顺子(连续的三张牌)或刻子(相同的三张牌)。现给出一组 3m

江澤妮可 685

【BZOJ1028】【JSOI2007】麻将 暴力

题目大意: 给你一副牌,问是否是听牌(即再加一张牌能“胡”),如果是,输出摸到哪些牌能胡,不是输出“NO” 胡牌规则: 首先需要有两个相同数字的牌被消掉,然后可以将三张相同的牌消掉,也可以将三张连续标号的牌消掉,消没即胡。 比如 22 444555 789就是胡牌。 题解: 暴力枚举再摸到哪张牌就能胡, 然后暴力消牌。 代码: #include #include #include

辗转山河弋流歌 1741

bzoj1028 麻将

Description 麻将是中国传统的娱乐工具之一。麻将牌的牌可以分为字牌(共有东、南、西、北、中、发、白七种)和序数牌(分为条子、饼子、万子三种花色,每种花色各有一到九的九种牌),每种牌各四张。在麻将中,通常情况下一组和了的牌(即完成的牌)由十四张牌组成。十四张牌中的两张组成对子(即完全相同的两张牌),剩余的十二张组成三张一组的四组,每一组须为顺子(即同花色且序数相连的序数牌,例如条子的

lzr010506的博客 776

【BZOJ1028】[JSOI2007]麻将(贪心)

【BZOJ1028】[JSOI2007]麻将(贪心) 题面 BZOJ 洛谷 题解 感觉好久没打过麻将了,似乎都快不会打了。 这个数据范围看着就觉得是\(O(n^2m)\)。 那么就枚举听哪张牌,然后枚举哪张是一对牌 考虑如何\(check\)剩下的牌是否能够构成顺子或者刻子(这叫法好别扭啊)。 那就从前往后搞,能够组成刻子就全组了,不行就组顺子(平时打麻将似乎也是这样的,虽然只有\(4\)张相同的...

weixin_30902251的博客 161

【BZOJ 1028】 [JSOI2007]麻将

暴力枚举+贪心判断~

Regina8023 1461
上一篇: bzoj1018
下一篇: bzoj1035
weixinding
博客等级 码龄15年 39粉丝 181原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值