非常可乐

国宇测试盒GH7009 SPI读操作全解析:从接线到代码实现的避坑指南 本文详细解析了国宇GH7009测试盒进行SPI读操作的完整流程与避坑要点。重点阐述了硬件连接中IO2时序控制引脚的关键作用,提供了从接线方案、电源处理到上位机代码实现的实战指南,并针对常见的数据不稳定、特定寄存器读取失败等问题给出了具体解决方案。 阅读详情

Description
大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S==N+M,101>S>0,N>0,M>0) 。聪明的ACMER你们说他们能平分吗?如果能请输出倒可乐的最少的次数,如果不能输出”NO”。

Input
三个整数 : S 可乐的体积 , N 和 M是两个杯子的容量,以”0 0 0”结束。

Output
如果能平分的话请输出最少要倒的次数,否则输出”NO”。

Sample Input
7 4 3
4 1 3
0 0 0

Sample Output
NO
3
就是三个杯子,反正我是分了8个状态,因为有可能到不满,也有可能倒满。然后就是搜索,脑子一抽写了深搜,超时了,发现搜索最沮丧的就是写了dfs后发现时bfs,然而并不想继续写下去了……

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
int n, m, s, leap[105][105][105], pre, time, dp[105][105][105];
struct Node{
    int x;
    int y;
    int z;
};
int min(int a, int b)
{
    return a < b ? a : b;
}
queue<Node>p;
int main()
{
    int i, j, k, tempx, tempy, tempz, x, y, z;
    Node temp, now;
    while (scanf("%d%d%d", &s, &n, &m) != EOF)
    {
        if (!s&&!n&&!m)break;
        if (s % 2 != 0)
            cout << "NO" << endl;
        else
        {
            for (i = 0; i <= 104;i++)
            for (j = 0; j <= 104;j++)
            for (k = 0; k <= 104; k++)
                leap[i][j][k] = 0;
            leap[s][0][0] = 1;
            pre = s / 2; time = 999;
            temp.x = s; temp.y = temp.z = 0;
            dp[s][0][0] = 0;
            p.push(temp);
            while (p.size())
            {
                temp = p.front();
                x = temp.x; y = temp.y; z = temp.z;
                if (dp[x][y][z] <= time){
                    if (x == y&&x == pre)
                        time = min(time, dp[x][y][z]);
                    else if (x == z&&x == pre)
                        time = min(time, dp[x][y][z]);
                    else if (y == z&&y == pre)
                        time = min(time, dp[x][y][z]);
                    else
                    {
                        tempx = x - (n - y); tempy = n; tempz = z;
                        if (tempx >= 0 && tempx <= s&&!leap[tempx][tempy][tempz])
                        {
                            leap[tempx][tempy][tempz] = 1;
                            dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                            now.x = tempx; now.y = tempy; now.z = tempz;
                            p.push(now);
                        }
                        tempx = x - (m - z); tempy = y; tempz = m;
                        if (tempx >= 0 && tempx <= s&&!leap[tempx][tempy][tempz])
                        {
                            leap[tempx][tempy][tempz] = 1;
                            dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                            now.x = tempx; now.y = tempy; now.z = tempz;
                            p.push(now);
                        }
                        tempx = x + y; tempy = 0; tempz = z;
                        if (tempx >= 0 && tempx <= s&&!leap[tempx][tempy][tempz])
                        {
                            leap[tempx][tempy][tempz] = 1;
                            dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                            now.x = tempx; now.y = tempy; now.z = tempz;
                            p.push(now);
                        }
                        if (y + z > m)
                        {
                            tempx = x; tempy = y - (m - z); tempz = m;
                            if (!leap[tempx][tempy][tempz])
                            {
                                leap[tempx][tempy][tempz] = 1;
                                dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                                now.x = tempx; now.y = tempy; now.z = tempz;
                                p.push(now);
                            }
                        }
                        else
                        {
                            tempx = x; tempy = 0; tempz = y + z;
                            if (!leap[tempx][tempy][tempz])
                            {
                                leap[tempx][tempy][tempz] = 1;
                                dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                                now.x = tempx; now.y = tempy; now.z = tempz;
                                p.push(now);
                            }
                        }
                        tempx = x + z; tempy = y; tempz = 0;
                        if (!leap[tempx][tempy][tempz])
                        {
                            leap[tempx][tempy][tempz] = 1;
                            dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                            now.x = tempx; now.y = tempy; now.z = tempz;
                            p.push(now);
                        }
                        if (y + z > n)
                        {
                            tempx = x; tempy = n; tempz = z - (n - y);
                            if (!leap[tempx][tempy][tempz])
                            {
                                leap[tempx][tempy][tempz] = 1;
                                dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                                now.x = tempx; now.y = tempy; now.z = tempz;
                                p.push(now);
                            }
                        }
                        else
                        {
                            tempx = x; tempy = z; tempz = 0;
                            if (!leap[tempx][tempy][tempz])
                            {
                                leap[tempx][tempy][tempz] = 1;
                                dp[tempx][tempy][tempz] = dp[x][y][z] + 1;
                                now.x = tempx; now.y = tempy; now.z = tempz;
                                p.push(now);
                            }
                        }
                    }
                }
                p.pop();
            }
            if (time == 999)
                cout << "NO" << endl;
            else
                cout << time << endl;
        }
    }
    return 0;
}
化工设备应力分析软件:STAAD.Pro二次开发_(24).非线性分析技术 在STAAD.Pro 中,可以通过命令。 阅读详情

相关推荐

jetson nano网络配置(有线、无线、USB)

注意:本节内容使用Jetson nano B01 版本或Jetson nano ALT 版本安装方式相同,在安装无线网卡等设备时,由于线材和设备比较脆弱,需要轻拿轻放,接口连接不上时,需要重新对准接口在进行连接,不要强行连接。Jetson nano 需要连接网络来进行更多的操作,本节就来讲解Jetson nano 的三种网络连接方法。有线:我们可以使用网线连接Jetson nano 的RJ45 接口,实现联网。

m0_73841621的博客 1万+

HDU1495-非常可乐

HDU1495-非常可乐

qq_57863912的博客 442

tcmalloc(高并发内存池)简化版讲解-项目

高清发不上去,私我发高清,项目完整代码@我。

2201_75352618的博客 910

非常可乐(找规律)

非常可乐 HDU - 1495 https://cn.vjudge.net/problem/HDU-1495 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S&amp;lt;...

weixin_44410512的博客 405

智能座舱语音测试避坑指南:从唤醒率到方言识别,这些场景你测全了吗?

本文深入解析智能座舱语音测试的关键场景与避坑指南,涵盖唤醒率测试、方言识别、多音区交互等复杂场景。通过实战案例与自动化测试方案,帮助开发者全面提升语音系统的可靠性与用户体验,特别关注环境噪声干扰与方言覆盖策略。

weixin_42613501的博客 496

【C#程序员入门AI】必知的一些知识

2026年C#调用AI,核心就4个概念+3种方式4个概念:大模型(大脑)、嵌入(数字密码)、向量(载体)、Agent(超级助理)3种方式:云端API(快)、本地模型(隐私)、混合部署(最佳)不用怕复杂,跟着这个思路走,你就能从“AI小白”变成“C# AI开发能手”,把AI集成到你的.NET项目里,提升效率、创造价值!

人工智能AI技术 409

HDU 1495 非常可乐 【BFS + 倒水问题】

非常可乐–倒水问题 Problem Description 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以...

正月看雪花的博客 385

SpringBoot 系列教程(二):SpringBoot使用Devtools实现热部署

1.devtools   spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。 2.项目搭建   本文是采用IDEA搭建的Spring Boot应用,通过spring-boot-devtools配置,可以支持修改java文件会自动重启程序,一些资源无需触发重启,...

Thinkingcao的专栏 1215

HDU 1495 非常可乐

HDU 1495 非常可乐 TimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others) ProblemDescription - 题目描述   大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以...

154

微信文件自动归档!手把手教你用OpenClaw搭个自己的“数字员工”,告别重复劳动

很多人说“AI是未来”,但未来不是靠喊口号的。OpenClaw的真正价值,是让你把重复劳动交出去,把时间留给真正需要创造力的事。这事真能干,而且不难。下载OpenClaw(GitHub仓库按我写的步骤跑一遍遇到坑,评论区留言——我亲自帮你看作者后记:上周五,我让AI自动归档了文件后,终于在5点准时下班。回家路上,我给它发了条消息:“干得漂亮”。它没回,但我知道——它在默默等我的下一条指令。

2601_94871597的博客 411

Doris实战——结合Flink构建极速易用的实时数仓

Doris实战——结合Flink构建极速易用的实时数仓

爱吃辣条的博客 8226

【简单搜索】非常可乐

非常可乐 题目描述 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S==...

Mark_Eleven的学习笔记 359

2020年大连理工大学《单片机原理及应用》期末试卷

2020年大连理工大学《单片机原理及应用》期末试卷 此试卷为大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷; 大连理工大学2020年《单片机原理及应用》期末试卷。 ...

无名何许人的博客 1478

非常可乐bfs和数学解法

非常可乐 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28523Accepted Submission(s): 11017 Problem Description 大家一定觉的运动以...

lyslyslys的博客 279

efm32 入门.pdf

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

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

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

《HDU 1495 - 非常可乐》的题解

《C - 非常可乐》的题解 题目的描述 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没...

weixin_46163391的博客 1259

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【杭电oj】1495 - 非常可乐(bfs,队列)

非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9317    Accepted Submission(s): 3694 Problem Description 大家一定觉的运动以后喝可乐是一件很惬意的事

wyg1997 2538

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

非常可乐 - 九度 OJ 1457

非常可乐 - 九度 OJ 1457 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: 大家一定觉得运动以后喝可乐是一件很惬意的事情,但是 seeyou 却不这么认为。因为每次当 seeyou 买了可乐以后,阿牛就要求和 seeyou 一起分享这一瓶可乐,而且一定要喝的和 seeyou 一样多。但 seeyou 的手中只有两个杯子,它们的容量分别是 N 毫升和 M 毫升。可乐的...

Yoc Lu 558

HDOJ 1495 非常可乐 【bfs】

HDOJ 1495 非常可乐 【bfs】 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1495 一共只有6种状态 a → b a → c b → a b → c c → a c → b bfs搜一遍即可 注意队列清空 标记数组清零 输入S为奇数时一定不符合要求,删除该情况剪枝 #inclu

... 421

Problem-1495 非常可乐

Problem-1495 非常可乐 HDUOJ入口:http://acm.hdu.edu.cn/showproblem.php?pid=1495 参考网址:https://www.cnblogs.com/ECJTUACM-873284962/p/6750320.html 题目大意 待写 解题思路 待写 AC代码 #include <iostream> #include <cstd...

恒治学 169

HDU1495 非常可乐【倒水问题+BFS】

  非常可乐   Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 18210    Accepted Submission(s): 7388     Problem Description 大家一定觉的运动以后喝可乐是一件很...

海岛Blog 7761

HDU1495 非常可乐

问题链接:HDU1495 非常可乐。 题意简述:平分液体问题。输入s、n和m三个数,分别代表可乐和2个杯子,三个容器可以互相倒,问能不能把s中的可乐平分,能的话输出最小倒杯子的次数,不能就输出NO。 问题分析:开始的时候,所有可乐在s中,2个杯子n和m都空着。过程中,可以将任何1个容器中的可乐倒到另外某个容器中,或将目标容器倒满,或将源容器倒空。因为容器没有刻度...

weixin_34401479的博客 92
上一篇: Oil Deposits
下一篇: Find a way
Techay
博客等级 码龄11年 11粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值