水一道绿题,整体思路和八数码很像,哈希表存解,然后常规模拟即可

#include<iostream>
#include<utility>
#include<queue>
#include<string>
using namespace std;
typedef long long ll;
#define fi(i,a,b) for(int i = a; i <= b; ++i)
#define fr(i,a,b) for(int i = a; i >= b; --i)
#define x first
#define y second
#define sz(x) ((int)(x).size())
#define pb push_back
using pii = pair<int,int>;
//#define DEBUG
int T,ca,cb,n,a,b;
bool vis[1005][1005];
struct water{
int a,b,step;
string res;
};
void bfs(){
queue<water> que;
que.push({0,0,0});
while(!que.empty()){
water temp = que.front();
que.pop();
if(temp.b == n){
cout << temp.step << " ";
cout << temp.res[0];
fi(i,1,sz(temp.res)-1) cout << " " << temp.res[i];
cout << endl;
return;
}
fi(i,1,6){
if(i == 1){
if(temp.a < ca)
{
if(!vis[ca][temp.b])
que.push({ca,temp.b,temp.step+1,temp.res + '1'}),vis[ca][temp.b] = true;
}
}
if(i == 2){
if(temp.b < cb)
{
if(!vis[temp.a][cb])
que.push({temp.a,cb,temp.step+1,temp.res + '2'}),vis[temp.a][cb] = true;
}
}
if(i == 3){
if(temp.a != 0)
{
if(!vis[0][temp.b])
que.push({0,temp.b,temp.step+1,temp.res + '3'}),vis[0][temp.b] = true;
}
}
if(i == 4){
if(temp.b != 0)
{
if(!vis[temp.a][0])
que.push({temp.a,0,temp.step+1,temp.res + '4'}),vis[temp.a][0];
}
}
if(i == 5){
if(temp.b != 0 && temp.a != ca){
int v = min(temp.a+temp.b,ca);
int a = temp.b - (v - temp.a);
if(!vis[v][a])
que.push({v,a,temp.step+1,temp.res+'5'}),vis[v][a] = true;
}
}
if(i == 6){
if(temp.a != 0 && temp.b != cb){
int v = min(temp.b+temp.a,cb);
int a = temp.a - (v - temp.b);
if(!vis[a][v])
que.push({a,v,temp.step+1,temp.res+'6'}),vis[v][a] = true;
}
}
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> T;
while(T--){
fi(i,0,1000) fi(j,0,1000) vis[i][j] = false;
cin >> ca >> cb >> n;
vis[0][0] = true;
bfs();
}
#ifdef DEBUG
//freopen(D:\in.txt,r,stdin);
#endif
return 0;
}

洛谷P1432的更多相关文章

  1. 洛谷P1432 倒水问题(CODEVS.1226)

    To 洛谷.1432 倒水问题 题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were co ...

  2. 洛谷P1432 倒水问题

    题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were confronted with th ...

  3. 洛谷 P1432 倒水问题

    目录 题目 思路 \(Code\) 题目 戳 思路 \(bfs\) 第一遍提交\(50\),第二遍就\(100\)了,qwq \(Code\) #include<iostream> #in ...

  4. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  5. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  6. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  7. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  8. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  9. 洛谷P1371 NOI元丹

    P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交  讨论  题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...

  10. 洛谷P1538迎春舞会之数字舞蹈

    题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...

随机推荐

  1. UE4/5 应用角色根运动的问题

    总的来说UE还是有点绕,网上提到的也不是很清晰,记录下. 具体可以下载UE官方示例ContentExample并进入Animation Level进行查看. 在Level中能看到根运动的必要步骤: 1 ...

  2. Vue3学习(二十四)- 文档页面功能开发

    写在前面 这部分真的感觉超级难,其实也不能说难,主要是真的想不到这个思路应该这么做,或者说他好厉害,他怎么知道该这么设计实现. 说下难点吧,我觉得后天逻辑还好,主要是前端部分真的需要点花点时间来思考, ...

  3. C语言:如何让printf输出更加美化(用游戏英雄属性作例子)

    #include <stdlib.h> /* run this program using the console pauser or add your own getch, system ...

  4. 使用systemctl管理服务(nginx)

    首先调整好路径信息,修改配置文件vim /usr/lib/systemd/system/nginx.service [Unit]Description=The nginx HTTP and rever ...

  5. 【题解】A18536.星光交错的律动

    题目跳转 思路:这道题可能跟博弈论有一点关系,没有学习过博弈论做起来应该问题也不大.思考一个问题,先手必胜的前提是什么? 有关更多的内容可以前往:浅谈有向无环图 先手必胜的前提是,在任何一种局面下,先 ...

  6. Instsrv.exe 与 Srvany.exe 安装Windows服务

    原理:Instsrv.exe可以给系统安装和删除服务 Srvany.exe可以让exe程序以服务的方式运行(Srvany只是exe注册程序的服务外壳,可以通过它让我们的程序以SYSTEM账户活动,随电 ...

  7. Vue3使用Composition API实现响应式

    title: Vue3使用Composition API实现响应式 date: 2024/5/29 下午8:10:24 updated: 2024/5/29 下午8:10:24 categories: ...

  8. HiveSQL 工作实战总结

    记录一些工作中有意思的统计指标,做过一些简化方便大家阅读,记录如有错误,欢迎在评论区提问讨论~ 问题类型 连续问题 两种思路 第一种:日期减去一列数字得出日期相同,主要是通过row_number窗口函 ...

  9. 私密信息管理工具 Vault 快速入门

    什么是 Vault Vault 是一个基于身份的秘密和加密管理系统.秘密是您想要严格控制访问的任何内容,例如 API 加密密钥.密码和证书. Vault 提供由身份验证和授权方法控制的加密服务.使用 ...

  10. .NET6 .NET CORE 使用Apollo

    Apollo默认有一个"SampleApp"应用,"DEV"环境 和 "timeout" KEY. nuget 中下载 "Com. ...