UVa10603 Fill

基于多智能体架构的AI自动化渗透测试平台PentAGI部署与实战 自动化渗透测试是网络安全领域提升效率、应对复杂威胁的关键技术。其核心原理在于通过程序化脚本或智能系统模拟攻击者行为,对目标系统进行安全评估。该技术能显著降低人工重复劳动,实现7x24小时持续监控与测试,其价值在于将安全专家从繁琐的扫描、信息收集中解放出来,专注于高级威胁分析与策略制定。在实际应用中,自动化渗透测试广泛应用于企业安全自评估、红蓝对抗演练及DevSecOps流程。本文聚焦于一个名为PentAGI的先进平台,它采用多智能体(Multi-Agent)系统架构,集成了知识图谱和向量数据库,实现了从侦察 阅读详情

        题意:你有三个无刻度的杯子A,B,C,容量分别是a,b,c。C中装满水,A和B是空杯。你需要借助三个杯子量出体积为d的水,如果无法量出d,量d'使得d'<d并尽可能接近d。输出你能实际量出的水量和最小的倒水体积。

        思路:BFS,其实也就是原状态与目标状态的最短路,目标状态可以有许多,在BFS的过程中判断当前状态是不是更好的状态,把最好的状态作为目标状态。我是用SPFA写的,重复的代码有点多看着比较挫,就像紫书说的一样,搜索和图论是存在一定联系的。


#include <iostream>         
#include <stdio.h>         
#include <cmath>         
#include <algorithm>         
#include <iomanip>         
#include <cstdlib>         
#include <string>         
#include <memory.h>         
#include <vector>         
#include <queue>         
#include <stack>         
#include <map>       
#include <set>       
#include <ctype.h>         
#define INF 1000000010     
#define ll long long     
#define max3(a,b,c) max(a,max(b,c))     
#define MAXN 1000

using namespace std;

int dis[40410];

inline int hash(int a,int b){
	return a*201+b;
}

inline void dehash(int n,int& x,int& y){
	y=n%201;
	n/=201;
	x=n;
}

int main(){
	int t;
	cin>>t;
	while(t--){
		for(int i=0;i<40410;i++)dis[i]=INF;
		
		int a,b,c,d;
		cin>>a>>b>>c>>d;
		int s=hash(0,0);
		dis[s]=0;
		
		queue<int> que; que.push(s);
		int _max;
		if(c<=d){
			_max=c;
		}else{
			_max=0;
		}
		int ans=0;
		while(!que.empty()){
			int cur=que.front(); que.pop();
			
			int x,y,z;
			dehash(cur,x,y);
			z=c-x-y;
			int nx,ny,nz;
			
			if(x>0&&y<b){
				int v=min(x,b-y);
				nx=x-v; ny=y+v; nz=z;
				if(dis[cur]+v<dis[ hash(nx,ny) ] ){
					que.push(hash(nx,ny));
					dis[ hash(nx,ny) ]=dis[cur]+v;
					//
					if( (nx>_max&&nx<=d) || (nx==_max&&dis[cur]+v<ans) ){
						_max=nx;
						ans=dis[cur]+v;
					}
					if( (ny>_max&&ny<=d) || (ny==_max&&dis[cur]+v<ans) ){
						_max=ny;
						ans=dis[cur]+v;
					}
				}
			}
			if(x>0&&z<c){
				int v=min(x,c-z);
				nx=x-v; ny=y; nz=z+v;
				if(dis[cur]+v<dis[ hash(nx,ny) ] ){
					que.push(hash(nx,ny));
					dis[ hash(nx,ny) ]=dis[cur]+v;
					//
					if( (nx>_max&&nx<=d) || (nx==_max&&dis[cur]+v<ans) ){
						_max=nx;
						ans=dis[cur]+v;
					}
		
					if( (nz>_max&&nz<=d) || (nz==_max&&dis[cur]+v<ans) ){
						_max=nz;
						ans=dis[cur]+v;
					}
				}
			}
			
			if(y>0&&x<a){
				int v=min(y,a-x);
				nx=x+v; ny=y-v; nz=z;
				if(dis[cur]+v<dis[ hash(nx,ny) ] ){
					que.push(hash(nx,ny));
					dis[ hash(nx,ny) ]=dis[cur]+v;
					//
					if( (nx>_max&&nx<=d) || (nx==_max&&dis[cur]+v<ans) ){
						_max=nx;
						ans=dis[cur]+v;
					}
					if( (ny>_max&&ny<=d) || (ny==_max&&dis[cur]+v<ans) ){
						_max=ny;
						ans=dis[cur]+v;
					}
				}
			}
			if(y>0&&z<c){
				int v=min(y,c-z);
				nx=x; ny=y-v; nz=z+v;
				if(dis[cur]+v<dis[ hash(nx,ny) ] ){
					que.push(hash(nx,ny));
					dis[ hash(nx,ny) ]=dis[cur]+v;
					//
					if( (ny>_max&&ny<=d) || (ny==_max&&dis[cur]+v<ans) ){
						_max=ny;
						ans=dis[cur]+v;
					}
					if( (nz>_max&&nz<=d) || (nz==_max&&dis[cur]+v<ans) ){
						_max=nz;
						ans=dis[cur]+v;
					}
				}
				
			}
			
			if(z>0&&x<a){
				int v=min(z,a-x);
				nx=x+v; ny=y; nz=z-v;
				if(dis[cur]+v<dis[ hash(nx,ny) ] ){
					que.push(hash(nx,ny));
					dis[ hash(nx,ny) ]=dis[cur]+v;
					//
					if( (nx>_max&&nx<=d) || (nx==_max&&dis[cur]+v<ans) ){
						_max=nx;
						ans=dis[cur]+v;
					}
					if( (nz>_max&&nz<=d) || (nz==_max&&dis[cur]+v<ans) ){
						_max=nz;
						ans=dis[cur]+v;
					}
				}
			}
			if(z>0&&y<b){
				int v=min(z,b-y);
				nx=x; ny=y+v; nz=z-v;
				if(dis[cur]+v<dis[ hash(nx,ny) ] ){
					que.push(hash(nx,ny));
					dis[ hash(nx,ny) ]=dis[cur]+v;
					//
					if( (ny>_max&&ny<=d) || (ny==_max&&dis[cur]+v<ans) ){
						_max=ny;
						ans=dis[cur]+v;
					}
					if( (nz>_max&&nz<=d) || (nz==_max&&dis[cur]+v<ans) ){
						_max=nz;
						ans=dis[cur]+v;
					}
				}
			}
		}
		cout<<ans<<" "<<_max<<endl;
	}
	return 0;
}



ATE Pin Electronics电路学习总结 PinElectronics(PE)是ATE测试机的核心模拟前端电路,负责ATE与芯片间的信号转换与交互。主要包含四大功能模块:Driver实现逻辑信号到模拟电平的转换(VIH/VIL可编程);Receiver对DUT输出进行采样比较(VOH/VOL判定);ActiveLoad施加可编程电流负载;PPMU进行精密电压/电流测量。PE的性能直接影响功能测试和直流参数测试的精度,需定期校准维护。关键参数包括:Driver电压精度(±5mV)、Receiver比较精度(±10-50mV)、PPMU测量精度(±1- 阅读详情

相关推荐

DC/DC开关电源EMC仿真红宝书

本红宝书系统性介绍开关电源EMC仿真方法,包括仿真原理、仿真思路、仿真工具以及仿真效率提升与仿测一致性的实战经验。从理论到仿真,从仿真到应用,真正帮你实现一文掌握开关电源EMC仿真!全文约14000字,适读人群:开关电源设计、电磁兼容EMC相关从业者,电磁相关专业研究生及CST仿真爱好者等。

电磁学社 2502

UVA 10603 - Fill

基本上是比着别人的代码自己写了一遍。思路就是一个bfs,方法感觉和uva 439 Knight Moves很类似,之前还不是很理解为什么非要有一个队列来存各种状态,原因就是从最初的0,0,b到倒水,可以形成几种状态,把这几种状态用队列存起来,利用队列先进先出的特性,一次对每一种状态进行拓展。判断可行的条件是: 1.这个状态未曾被访问到; 2.从a杯到b杯倒水时,b杯还是未满的,a杯不是空的;

anqier0468的专栏 755

2025华东杯A/B/C题解题思路+可运行代码参考

这些因素包括但不限于:助滑坡的坡度、运动员的质量、滑雪板的接触面与雪地的摩擦力、空气阻力系数、运动员的体型和衣物形态等。助滑坡是运动员滑行至起跳台前的最后一段坡道,这一段坡道的坡度、长度和运动员的姿势会直接影响到起跳时的初始速度。运动员的滑行速度不仅受助滑坡的坡度影响,还受到摩擦力、空气阻力和重力等多方面因素的影响。通过合理的姿势调整,运动员能够有效减少空气阻力,增加身体的重力加速度,进而提升滑行速度。助滑坡的角度通常介于10°到12°之间,而运动员的滑行速度将受到重力、摩擦力和空气阻力的共同作用。

qq_52590045的博客 1798

UVA10603 Fill【倒水问题+优先搜索】

  There are three jugs with a volume of a, b and c liters. (a, b, and c are positive integers not greater than 200). The first and the second jug are initially empty, while the third is completely fil...

海岛Blog 2542

使用C++编写一个可视化窗口

初学C++时,控制台会给我们提供一个黑窗口,而这篇文章所做的就是:创建一个属于图形界面窗口,而不是使用控制台黑窗口 如图,这是一个标题为XSZY的窗口 看完这篇文章,你想要的窗口大小,图标等都可以自己定义 甚至是在窗口上鼠标的样子,都是可以随意改的 所有有关视窗的基本函数和类型都定义在头文件 <windows.h> 中 我们只需要引用就好了 //引用头文件 windows.h #include<windows.h> 然后定义程序的入口函数main int __stdcall W

XSZY_的博客 6万+

25 - GRACE Mascon数据缺失月份数据插值

本篇基于文章的相关内容和文章公开的奇异谱分析(SSA)插值算法程序包,对grace Mascon数据种缺失的月份进行 插值 ,总结了使用程序包的相关过程,可以将该程序应用到其他数据处理插值计算中。

weixin_43339605的博客 1843

uva 10603 - Fill

点击打开链接 题目所属: 隐式图的搜索 题目意思: 有三个容器大小为 a b c 刚开始 a b都是空的 c是满的,现在给定一个d 大小的水量 ,要求我么找到最小的倒水总量使得有一个容器的水量为 d,如果找不到那么就用d'代替d(d' &lt; d)直到能够找到有一个容器的水量为 d为止,最后输出 最小的倒水总量和 d' 解题思路: 倒水条件:假设是a倒入b中,那么必须要有a被倒...

我是传奇 219

SAP Group Reporting入门指南(11)--配置

这里选择的是FS项目目标属性,FS项目有四个目标属性,比如上图配置的是抵消目标属性,所以就去找触发FS项目的抵消目标属性配置的是哪个FS项目,就以这个FS项目作为贷方。这里选择的是FS项目目标属性,FS项目有四个目标属性,比如上图配置的是抵消目标属性,所以就去找源FS项目的抵消目标属性配置的是哪个FS项目,就以这个FS项目作为借方。例如,添加一个包含用于存储百分比的 FS 项的选项。这里选择的是FS项目的角色属性值,如果这里定义了,那么就从FS项目中找到FS项目角色属性值与之匹配的FS项目作为贷方。

bflyfish的博客 568

UVa10603 - Fill

分析:取出水量最少的节点进行扩展,这样的程序只需要把队列queue换成优先队列priority_queue,其他部分的代码不变,下面的代码把状态(三元组)和dist合起来定义为一个Node类型,是一种常见的写法,如果要打印路径,需要把访问过的所有节点放在一个nodes数组中,然后在Node中加一个变量fa,表示父节点在nodes数组中的下标,而在队列中只存在节点在nodes数组中的下标而非节点本身

Dosth_Magic 1011

YOLOv8首发优化:遥感目标检测 | 专为低质量遥感图像设计的边缘 - 高斯聚合(EGA)模块,解决低空间分辨率、传感器噪声、目标模糊、低光照退化和部分遮挡等限制

一种轻量级网络,其创新性地整合了专为低质量遥感图像设计的边缘 - 高斯聚合(EGA)模块。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 492

基于NSGA2算法的无人机三维路径规划MATLAB实现

传统的路径规划方法多采用启发式搜索算法,然而这些方法往往带着局限性,不能有效地克服无人机飞行任务中所遇到的复杂环境与约束。而基于遗传算法的NSGA2(Non-dominated Sorting Genetic Algorithm II)方法则可以在优化目标之间找到最好的平衡点,是一种十分优秀的解决方案。本文介绍了基于NSGA2算法的无人机三维路径规划MATLAB实现。NSGA2算法是一种多目标优化算法,通过非支配排序和拥挤度距离来评估个体的适应度和选择新个体,从而产生一组非支配解。3.选择新个体组成P1;

CyberLynxX的博客 982

UVa 10603 - Fill,经典倒水问题+隐式图搜索+dfs

题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=110&page=show_problem&problem=1544 类型: 隐式图搜索 原题: There are three jugs with a volume of a, b and c li

D_Double's Journey 5885

【华为OD机试真题 2025B卷】662、静态扫描 | 机试真题+思路参考+代码解析(C++、Java、Py)(B卷复用)

【华为OD机试真题 2025B卷】662、静态扫描 | 机试真题+思路参考+代码解析(C++、Java、Py)(B卷复用) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备战华为od

KJ.JK 5398

UVA-10603 Fill(状态图的BFS+贪心)

UVA-10603 Fill There are three jugs with a volume of a, b and c liters. (a, b, and c are positive integers not greater than 200). The first and the second jug are initially empty, while the third is c...

weixin_43406404的博客 314

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[算法竞赛入门经典] uva10603 Fill 倒水问题 详细注解 P319

// https://github.com/aoapc-book/aoapc-bac2nd/blob/master/ch7/UVa10603.cpp // UVa10603 Fill // Rujia Liu #include<cstdio> #include<cstring> #include<queue> using namespace std; str...

Lord_sh的博客 481

STM32F407中文手册

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

Fill UVA - 10603

BFS 看了刘汝佳代码依旧有一些不懂得地方 比如代码中使用了dist数组,但是这个数组作用是什么依旧不懂 另外这个方法是否正确的确存在争议 如果追求次数最少,那么每次取出倒水次数最少的扩展自然无可厚非 但是要求倒水量最少,取出当前倒水最少的进行扩展就一定能得到正确答案? 当然刘汝佳也说明了这个问题 代码直接看的代码仓库,加了一点注释 等刷题多了再回过头来看 // UVa1060...

∑bit 238

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

uva 10603 Fill code2

题目:Fill 题意:有3个容积为a,b,c的杯子,最初a、b为空,c中装满水。每次可以从一个杯子向另一个杯子倒水,但只有把一个杯子倒空或把另一个杯子倒满时才能停止。如果要使其中一个杯子中有d升水,求最少倒水的的体积。若无法满足 ,则目标水量要比d小且和d尽量接近。 思路: 同书上思路,用priority_queue代替queue,比用队列快。 详见

iwi 384

UVA10603 Fill

优秀的程序员一定是CV大师。能CV则CV的做法,可以省去许多编码和测试的时间。但是,如果出现小错误的话,找起来一样的费时。 问题链接:UVA10603 Fill。 题意简述:有三个壶,容量分别是a、b和c升,开始时候第1个和第2个壶是空的,第3个壶是满水的。可以把一个壶的水倒入另一个壶中,直到倒空或将另外一个壶倒满。输入a、b、c和d,计算最少的倒水量,使得其...

weixin_33921089的博客 88

倒水问题 Fill,UVa 10603

#include&amp;quot;stdafx.h&amp;quot; // UVa10603 Fill // Rujia Liu #include&amp;amp;lt;cstdio&amp;amp;gt; #include&amp;amp;lt;cstring&amp;amp;gt; #include&amp;amp;lt;queue&amp;amp;gt; using namespace std; struct Node { in

忆水思寒的博客 424

UVa 10603 - Fill

题目链接:UVa 10603 - Fill 隐式图:仅给出初始结点、目标结点以及生成子结点的约束条件(题意隐含给出),要求按扩展规则应用于扩展结点的过程,找出其他结点,使得隐式图的足够大的一部分编程显式,直到包含目标结点为止。 这道题就是隐试图搜索,其实就是用BFS。这里要注意一下vis数组,这里开二维数组就可以了,原因就是开始水量已经给出了,那么三个水杯中只要有两个水杯的水量确定了,那么第三

fobdddf的专栏 632

10603 - Fill UVA(隐式最短路)@

Fill  UVA - 10603  题意:给三个杯子,第1个第2个空,第三个装满水,每次操作是一个杯子向另一个杯子倒水直到其中一个杯子为空或者另一个杯子倒满,求使其中一个杯子最接近d的最小倒水流量 解:最短路; #include #include using namespace std; const int N = 500; const int inf

MR CODER 392

Fill UVA - 10603

Fill UVA - 10603 题目大意: 给定三个水杯,a,b,c ,并且 a,b 为空杯,c 倒满, 给定一个容量 d 要求给出当,杯中有出现容量为d 的情况时,给出最少的水交换容量, 如果没有 则给出d' 要求 d' 尽可能得接近 d 思路: 使用爆搜,广度优先遍历,对应的记录每一个状态下的 每一个杯子的含有的水量和已经交换的水的容量 当出现d容量的情况时...

Willen_的博客 302

uva 10603 Fill (BFS)

uva 10603 Fill There are three jugs with a volume of a, b and c liters. (a, b, and c are positive integers not greater than 200). The first and the second jug are initially empty, while the

总有那么一群人喜欢盯着我的博客看,估计这是他们见过最长的博客名,我必须得告诉他们博客名最长可以写多长 704
上一篇: poj1077 Eight
下一篇: Codeforces Round #265 (Div. 1) A
squee_spoon
博客等级 码龄14年 61粉丝 455原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值