POJ 3414 Pots

【代码超详解】POJ 3414 Pots(BFS,0 ms) 一、题目描述 Pots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29772 Accepted: 12428 Special Judge Description You are given two pots, having the volume of A and B liters respectively. The ... 阅读详情

给你两个容量不同的瓶子,要你通过3种操作,量出一定体积的水。就和以前做的益智题一样的。

BFS做的,注意要记录路径。。

又是深夜做题,用vector记录路径的。不知道怎么样复制一个vector到另一个vector,所以很暴力的for了一遍。。。

最后居然1Y了。。。数据太弱了。。。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
using namespace std;
struct T
{
    int a;
    int b;
    vector<int> op;
    T()
    {
        a=0;
        b=0;
        op.clear();
    }
    ~T()
    {

    }
};
queue<T> q;
bool v[200][200];
int main()
{
    int a,b,c,i;
    T s,ts,tts;
    scanf("%d%d%d",&a,&b,&c);
    s.a=0;
    s.b=0;
    if (s.a == c || s.b == c)
    {
        printf("0\n");
        return 0;
    }
    while (!q.empty())
        q.pop();
    q.push(s);
    memset(v,false,sizeof(v));
    while (!q.empty())
    {
        ts=q.front();
        q.pop();
        if (ts.a == c || ts.b == c)
        {
            break;
        }
        tts.a=a;
        tts.b=ts.b;
        tts.op.clear();
         for (i=0; i<ts.op.size(); i++)
            tts.op.push_back(ts.op[i]);
        tts.op.push_back(1);

        if (v[tts.a][tts.b] == false)
        {
            v[tts.a][tts.b]=true;
            q.push(tts);
        }

        tts.a=ts.a;
        tts.b=b;
        tts.op.clear();
         for (i=0; i<ts.op.size(); i++)
            tts.op.push_back(ts.op[i]);
        tts.op.push_back(2);
        if (v[tts.a][tts.b] == false)
        {
            v[tts.a][tts.b]=true;
            q.push(tts);
        }

        tts.a=0;
        tts.b=ts.b;
        tts.op.clear();
         for (i=0; i<ts.op.size(); i++)
            tts.op.push_back(ts.op[i]);
        tts.op.push_back(3);
        if (v[tts.a][tts.b] == false)
        {
            v[tts.a][tts.b]=true;
            q.push(tts);
        }

        tts.a=ts.a;
        tts.b=0;
        tts.op.clear();
         for (i=0; i<ts.op.size(); i++)
            tts.op.push_back(ts.op[i]);
        tts.op.push_back(4);
        if (v[tts.a][tts.b] == false)
        {
            v[tts.a][tts.b]=true;
            q.push(tts);
        }

        if (b >= ts.b+ts.a)
        {
            tts.a=0;
            tts.b=ts.b+ts.a;
        }
        else
        {
            tts.a=ts.b+ts.a-b;
            tts.b=b;
        }
        tts.op.clear();
        for (i=0; i<ts.op.size(); i++)
            tts.op.push_back(ts.op[i]);
        tts.op.push_back(5);
        if (v[tts.a][tts.b] == false)
        {
            v[tts.a][tts.b]=true;
            q.push(tts);
        }

        if (a >= ts.b+ts.a)
        {
            tts.a=ts.b+ts.a;
            tts.b=0;
        }
        else
        {
            tts.a=a;
            tts.b=ts.b+ts.a-a;
        }
        tts.op.clear();
        for (i=0; i<ts.op.size(); i++)
            tts.op.push_back(ts.op[i]);
        tts.op.push_back(6);
        if (v[tts.a][tts.b] == false)
        {
            v[tts.a][tts.b]=true;
            q.push(tts);
        }
    }
    if (q.empty())
    {
        printf("impossible\n");
    }
    else
    {
        printf("%d\n",ts.op.size());
        for (i=0; i<ts.op.size(); i++)
        {
            switch (ts.op[i])
            {
            case 1:
                printf("FILL(1)\n");
                break;
            case 2:
                printf("FILL(2)\n");
                break;
            case 3:
                printf("DROP(1)\n");
                break;
            case 4:
                printf("DROP(2)\n");
                break;
            case 5:
                printf("POUR(1,2)\n");
                break;
            case 6:
                printf("POUR(2,1)\n");
                break;
            }
        }
    }
}


 

Ubuntu系统等保3级配置核查与加固 虽然这种方法在某些老旧的系统中仍然有效,但现代Linux发行版通常不推荐使用hosts.deny和hosts.allow文件来管理防火墙规则,因为它们的功能已经被更现代的防火墙管理工具(如iptables或firewalld)所取代。如果你想禁止特定的环境变量,可以从这个列表中移除它们,或者如果你想完全阻止所有环境变量的传递,可以将其设置为空。你可以通过ssh-keygen生成密钥对,并将公钥添加到用户的~/.ssh/authorized_keys文件中。修改配置后,需要重启SSH服务以使更改生效。 阅读详情

相关推荐

QT | QT打包生成单个EXE文件

1.以release方式运行程序 2.在release文件夹中找到.exe文件 如果没有找到exe,可能是因为在项目中勾选了shadow build,你可以在构建目录中找到exe 3.将exe放在一个新建的文件夹中,因为待会儿会生成很多dll文件 4.点击电脑左下角搜索QT,打开Qt 5.8 for Desktop (MinGQW 5.3.0 32bit) 5.进入刚刚新建的文件夹,输入wi...

⊳ideal world⊲~ヽ(゚︺゚)Hi 1238

算法——搜索:两个水壶得到指定容积的水,哈希表hash_function

第一个模板参数指定集合中元素的类型为PII,而第二个模板参数 decltype(hash_function) 指定了哈希函数类型,即使用之前定义的 hash_function。即 auto hash_function = [](const PII& o) {return hash<int>()(o.first) ^ hash<int>()(o.second);因此,这段代码的目的是创建一个无序集合 seen,用于存储PII类型的对象,并使用自定义的哈希函数来计算元素的哈希值。需要使用哈希表去重。

lyx200154的博客 630

Transformer模型在语义通信中的实战应用:从信源编码到端到端优化

本文深入探讨了Transformer模型在语义通信中的实战应用,从信源编码到端到端优化。文章分析了Transformer凭借其强大的全局依赖建模能力,如何成为实现高效语义提取与传输的理想架构,并提供了构建可端到端训练系统的具体实现思路与评估方法,旨在为下一代智能通信系统提供技术参考。

o9p0q1的博客 689

leetcode 365. Water and Jug Problem 两个水杯倒水问题 + 最大公约数Gcd辗转相除法

You are given two jugs with capacities x and y litres. There is an infinite amount of water supply available. You need to determine whether it is possible to measure exactly z litres using these two j

JackZhangNJU的专栏 4323

特征选择(模型输入参数的分析选择)方法汇总

特征选择是模式识别和机器学习领域的重要研究课题之一。为了提高准确率, 人们往往最大限度地提取特征信息。然而, 过大的特征向量维数不仅导致计算成本的增加, 复杂运算也随之带来分类识别率的下降。因此, 通过合适的特征选择算法, 去除无关特征和冗余特征, 获得有助于分类的最优特征子集, 对提高识别性能和降低计算成本具有重要意义。 特征选择主要有两个功能: 减少特征数量、降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 参考资料: 优快云《几种常用的特征选择方法》 知乎《机器学习中,.

David's Tweet 1万+

深入解析:如何基于开源p-net快速开发Profinet从站服务

开源p-net协议栈为工业设备开发者打开了通往Profinet世界的大门。随着工业互联网的发展,软协议栈方案将在边缘计算领域展现更大潜力。该文章完整实现了PROFINET从站的核心功能,可直接作为产品开发的基础框架。实际部署时需根据具体硬件平台调整网络驱动和实时性配置。

极地星辰 3880

POJ 3414 Pots(bfs)

Pots

Pandora_heart的博客 336

AI上推荐 之 AutoRec与Deep Crossing模型(改变神经网络的复杂程度)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 5666

【POJ 3414 --- Pots】BFS

【POJ 3414 --- Pots】BFS 题目来源:点击进入【POJ 3414 — Pots】 Description You are given two pots, having the volume of A and B liters respectively. The following operations can be performed: FILL(i) fill t...

来日浅谈的博客 521

AgentScope Java 2.0 项目实战:教你完整搭建企业级多租户AI数据分析Agent平台

本文详细讲解如何从零开始构建一个企业级多租户AI数据分析Agent平台(agentscope-dataagent)。涵盖项目的环境准备、项目骨架搭建、后端15个核心模块开发(认证授权、Agent网关、会话管理、SSE流式聊天、能力市场、Webhook通道、Docker沙箱等)、前端完整开发(路由守卫、SSE流式读取、28个页面组件)、内置资源定义、构建打包、测试验证及单机/Docker/分布式部署全流程。

program哲学 597

【Unity的HDRP渲染管线下用Steam VR串流结合使用遇到的各种问题_SteamVR 插件和Pico串流助手】

当你启用"Mock Runtime"选项后,Unity将模拟一个虚拟的OpenXR运行时环境,并提供一些虚拟的设备和功能,让你能够进行开发和调试。在Unity中,SteamVR插件是一个由Valve提供的Unity插件,它允许开发者在Unity项目中集成SteamVR功能,以便支持SteamVR设备。OpenXR是一个跨平台的虚拟和增强现实(VR/AR)开发接口,它为开发者提供了一个统一的接口,用于访问不同VR/AR硬件设备和平台的功能。这个选项是用于模拟OpenXR运行时环境的功能。

暴走约伯的博客 2800

POJ3414 Pots —— BFS + 模拟

题目链接:http://poj.org/problem?id=3414 Pots Time Limit:1000MS Memory Limit:65536K Total Submissions:18550 Accepted:7843 Special Judge ...

alince20008的博客 122

手把手教你学PCIE(2.1.8)--pcie基本概念流量控制(Flow Control, FC)

PCIe 的流量控制(Flow Control, FC)是确保数据传输可靠性和高效性的关键技术。通过信用值管理,发送方和接收方可以动态调整数据传输速率,避免数据丢失和溢出。理解流量控制的工作原理和实现机制对于开发和调试 PCIe 系统非常重要。希望这个介绍能帮助你更好地理解和使用 PCIe 流量控制。

MHD0815的博客 1808

POJ 3414 Pots(罐子)

POJ3414 Pots(罐子) TimeLimit:1000MSMemoryLimit:65536K Description- 题目描述 You are given two pots, having the volume ofAandBliters respectively. The following operations can b...

246

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

蓝牙模块HM-10手册

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

POJ 3414 Pots【BFS水】

POJ 3414 Pots大意:有两只桶,容量分别为a,b,对每只桶,有以下三种操作:1.Fill(i)装满第i只桶2.DROP(i)将桶i的水倒掉3.POUR(i,j),将桶i中的水倒入桶j,若桶j满,剩余的水遗留于桶i中 问能否通过这些操作使得某只桶恰好装有容量为c的水?若能,输出最少操作次数及过程PS:c<max(a,b); 算法:BFS即可 #include&...

a48634331的博客 149

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

POJ - 3414 Pots BFS + 记录并输出路径

POJ - 3414 Pots 题意: 给你两个杯子的容量 和 最后杯子中剩余水的容量。有三种操作方式 FILL(i)        将第 i 个杯子装满水 DROP(i)      将第 i 个杯子的水倒空  POUR(i,j)     将第 i 个杯子中的水倒入第 j 个杯子中     可能有两种情况:(1) i 杯子中的水还没全倒入 j 杯子中 j 杯子就满了,此时 i 杯子中还...

没有梦想何以远行 272

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

poj 3414 Pots 【BFS+记录路径 】

//yy:昨天看着这题突然有点懵,不知道怎么记录路径,然后交给房教了,,,然后默默去写另一个bfs,想清楚思路后花了半小时写了120+行的代码然后出现奇葩的CE,看完FAQ改了之后又WA了。然后第一次用对拍去找特殊数据折腾到十二点半终于AC,最后只想感叹没有仔细读题,没办法啊看着英语略烦躁,不扯了,那个题题解不想写了,回到这题。。。今天中午还是花了四十分钟写了这题(好慢啊orz),感觉,...

dhe56357的博客 151

倒水(BFS)Pots POJ - 3414

Pots POJ - 3414 题目链接 bfs题; 标注的状态应为2容器的体积,因为每种2容器的体积都应该只由一种状态达到。 不使用队列 #include<stdio.h> #include<string.h> struct node{ int now_x; int now_y; int step; int howcome; int before; }ll[10050];...

qq_43559193的博客 262

POJ 3414 Pots (BFS/DFS)

Pots Time Limit:1000MS Memory Limit:65536K Total Submissions:7783 Accepted:3261 Special Judge Description You are given two pots, having the volume ofA...

airen6935的博客 190

POJ 3414-Pots(暑假头疼jixun)

POJ 3414-Pots Description You are given two pots, having the volume of A and B liters respectively. The following operations can be performed: FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap; D...

qq_43813140的博客 314

POJ-3414 Pots

POJ-3414 Pots You are given two pots, having the volume of A and B liters respectively. The following operations can be performed: FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap; DROP(i) empty the pot i to the drain; POUR(i,j) pour from pot i to po

sdudyl的博客 216

POJ 3414 -- Pots

POJ 3414 -- Pots 题意: 给出了两个瓶子的容量A,B, 以及一个目标水量C, 对A、B可以有如下操作: FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap; DROP(i) empty the pot i to the drain; POUR(i,j) pour from pot i to po...

weixin_30416497的博客 150

POJ 3414 Pots 均分水(bfs)

题目链接: POJ 3414 Pots 题目大意: 有两个水杯,一开始都没有装水,给出两个水杯的容量,和要达到的目标容量 每个水被有三种操作:1.装满水,2.倒掉所有水,3,将水倒入另一个杯子中. 思路: 两个杯子,六种操作,,求最短路,并打印路径,6入口bfs,跟非常可乐一题类似 Description You are given two pots, having the

Dextrad_ihacker的博客 1342

POJ3414 Pots

问题链接:POJ3414 Pots。 题意简述:给出两个壶的容量A和B, 一个目标水量C,对A、B可以有3种操作,求最少经过几步操作能够在某个壶中得到目标水量C。输入A、B和C,输入最少操作数和操作过程。 FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap;DROP(i) empty the pot...

weixin_34240520的博客 95

H - Pots POJ - 3414

H - Pots POJ - 3414 You are given two pots, having the volume of A and B liters respectively. The following operations can be performed: FILL(i)        fill the pot i (1 ≤ i ≤ 2) from the tap; DR...

Focus5679的博客 246
上一篇: POJ 3087 Shuffle'm Up
下一篇: POJ 2531 Network Saboteur
plusplus7
博客等级 码龄15年 59粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值