Say Cheese

S7-1200与PID_Compact实现恒温热水器控制方案解析 在工业自动化与过程控制中,PLC作为核心逻辑控制器,常需处理温度、压力等模拟量闭环调节。PID控制算法通过比例、积分、微分运算,能有效抑制系统超调与稳态误差,是恒温控制场景应用最广泛的技术原理。西门子S7-1200 PLC内置PID_Compact功能块,将复杂闭环算法集成于工业控制器中,免去独立温控仪,并支持PWM或模拟量连续输出,为热水器恒温、反应釜控温等设备提供了高性价比的工程化解决思路。实际项目里,需要结合温度传感器选型、执行机构类型以及采样周期匹配等因素,并通过自动整定与手动微调获得理想参数,从而 阅读详情

Once upon a time, in a giant piece of cheese, there lived a cheese mite named Amelia Cheese Mite.
Amelia should have been truly happy because she was surrounded by more delicious cheese than she
could ever eat. Nevertheless, she felt that something was missing from her life.
One morning, her dreams about cheese were interrupted by a noise she had never heard before. But
she immediately realized what it was - the sound of a male cheese mite, gnawing in the same piece of
cheese! (Determining the gender of a cheese mite just by the sound of its gnawing is by no means easy,
but all cheese mites can do it. That’s because their parents could.)
Nothing could stop Amelia now. She had to meet that other mite as soon as possible. Therefore
she had to find the fastest way to get to the other mite. Amelia can gnaw through one millimeter of
cheese in ten seconds. But it turns out that the direct way to the other mite might not be the fastest
one. The cheese that Amelia lives in is full of holes. These holes, which are bubbles of air trapped
in the cheese, are spherical for the most part. But occasionally these spherical holes overlap, creating
compound holes of all kinds of shapes. Passing through a hole in the cheese takes Amelia essentially
zero time, since she can fly from one end to the other instantly. So it might be useful to travel through
holes to get to the other mite quickly.
For this problem, you have to write a program that, given the locations of both mites and the holes
in the cheese, determines the minimal time it takes Amelia to reach the other mite. For the purposes of
this problem, you can assume that the cheese is infinitely large. This is because the cheese is so large
that it never pays for Amelia to leave the cheese to reach the other mite (especially since cheese-mite
eaters might eat her). You can also assume that the other mite is eagerly anticipating Amelia’s arrival
and will not move while Amelia is underway.
Input
The input file contains descriptions of several cheese mite test cases. Each test case starts with a line
containing a single integer n (0 ≤ n ≤ 100), the number of holes in the cheese. This is followed by
n lines containing four integers xi
, yi
, zi
, ri each. These describe the centers (xi
, yi
, zi) and radii ri
(ri > 0) of the holes. All values here (and in the following) are given in millimeters.
The description concludes with two lines containing three integers each. The first line contains the
values xA, yA, zA, giving Amelia’s position in the cheese, the second line containing xO, yO, zO, gives
the position of the other mite.
The input file is terminated by a line containing the number ‘-1’.
Output
For each test case, print one line of output, following the format of the sample output. First print the
number of the test case (starting with 1). Then print the minimum time in seconds it takes Amelia
to reach the other mite, rounded to the closest integer. The input will be such that the rounding is
unambiguous.
Sample Input
1
20 20 20 1
0 0 0
0 0 10
1
5 0 0 4
0 0 0
10 0 0
-1
Sample Output
Cheese 1: Travel time = 100 sec
Cheese 2: Travel time = 20 sec
一个奶酪,有洞,老鼠在没洞的地方走要10s一单位,在洞内行走不费时间(瞬间移动),问到目标点消耗的最短时间。
一开始并没有思路,然后发现xyz是没有限制的,说明坐标是直接计算的,然后发现洞的个数是有限的,于是就想到,把起始点和终点再加上洞的球心,就构成了图,至于距离就很好解决了。
小tips,注意球相交的情况,坑了一发……

#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<set>
using namespace std;
typedef long long ll;
const ll inf = 0x3f3f3f3f;
struct Node{
    ll x, y, z, r;
}node[105];
int leap[105];
double d[105][105], a[105];
int main()
{
    ll i, j, m, n, ans, t, kase = 1;
    while (scanf("%lld", &n) != EOF)
    {
        if (n == -1)break;
        for (i = 1; i <= n; i++)
            cin >> node[i].x >> node[i].y >> node[i].z >> node[i].r;
        cin >> node[0].x >> node[0].y >> node[0].z;
        cin >> node[n + 1].x >> node[n + 1].y >> node[n + 1].z;
        node[0].r = node[n + 1].r = 0;
        for (i = 0; i <= 102;i++)
        for (j = 0; j <= 102; j++)
            d[i][j] = inf;
        for (i = 0; i <= n + 1;i++)
        for (j = 0; j <= n + 1; j++)
        {
            double tempx, tempy, tempz;
            tempx = (node[i].x - node[j].x)*(node[i].x - node[j].x);
            tempy = (node[i].y - node[j].y)*(node[i].y - node[j].y);
            tempz = (node[i].z - node[j].z)*(node[i].z - node[j].z);
            d[i][j] = d[j][i] = max(sqrt(tempx + tempy + tempz) - node[i].r - node[j].r, 0.0);
        }
        ll  k;
        for (k = 0; k <= n + 1;k++)
        for (i = 0; i <= n + 1;i++)
        for (j = 0; j <= n + 1; j++)
            d[i][j] = min(d[i][j], d[i][k] + d[k][j]);

        double ans1;
        ans1 = d[0][n + 1] * 10.0;
        ans = (int)(ans1 + 0.5);
        cout << "Cheese " << kase << ": Travel time = ";
        kase++;
        cout << ans;
        cout << " sec" << endl;
    }
    return 0;
}
[Uva 1001] Say Cheese [Floyd] #include #include #include #include #include using namespace std; int n; #define maxn 110 struct data{ int x,y,z; int r; void read(bool flag){ scanf("%d%d%d",&x,&y,&z); if(flag)scanf("%d",&r); 阅读详情

相关推荐

智能气象站:ESP32驱动的心知天气数据可视化实践

本文详细介绍了基于ESP32微控制器和心知天气API构建智能气象站的完整实践。通过Arduino开发环境,实现天气数据的获取、JSON解析与OLED屏可视化展示,涵盖硬件连接、API配置、低功耗优化及部署问题排查,为物联网开发者提供实用指南。

jump7的博客 209

UVA 1001:Say Cheese(最短路)

问题描述: Once upon a time, in a giant piece of cheese, there lived a cheese mite named Amelia Cheese Mite.Amelia should have been truly happy because she was surrounded by more delicious cheese than she

小坏蛋_千千 1116

ECU-TEST 快速入门

ECU-TEST 是由位于德国德累斯顿的TraceTronic公司开发的一款用于嵌入式系统测试验证软件工具。自从2003年首次发布ECU-TEST ,该软件成为了汽车ECU开发的标准工具 ,同时也逐步成为了重型机械和工业自动化开发的标准工具 。该软件是起源自于一个控制单元的系统化测试的项目研究,从而为从德累斯顿工业大学脱离出来的TraceTronic公司奠定了基础。ECU-TEST旨在完成测试案例的规范化、评估、求解和归档。得益于该软件包含大量的自动化测试方法使得测试案例的所有必要功能如创建、求解和评估

wangying202的博客 1万+

A - Say Cheese (最短路)

问题描述: Once upon a time, in a giant piece of cheese, there lived a cheese mite named Amelia Cheese Mite.Amelia should have been truly happy because she was surrounded by more delicious cheese than s

你就是根号四的博客 538

红外通信不止遥控器:手把手教你用2ASK调制实现语音+温度数据同传

本文详细介绍了如何利用2ASK调制技术实现红外通信系统,同时传输语音和温度数据。通过STM32F103C8T6微控制器和DS18B20温度传感器的硬件设计,结合2ASK调制原理,展示了系统的完整实现方案。文章还提供了调试优化建议,适合电子爱好者和通信工程学生实践学习。

weixin_42531588的博客 388

SPICE仿真软件:Ngspice_(2).安装与配置

在Netlist文件中直接定义模型。V1 1 0 5R1 2 0 1k* Analysis库文件中可以包含多种电路元件模型和参数。

kkchenjj的博客 1585

1001 - Say Cheese (Dijkstra算法)

该题是求两点间的最短路问题,用Dijkstra算法比较快 ,跑了0.003s 。 方法很简单,将圆看成结点,直接判断两个圆是否相交,如果相交距离为0,否则距离为圆心间距离减去两圆半径。 起点和终点也可以看成是一个半径为0的圆 。 这样就变成了两点间的最短路问题,适合用Dijkstra算法求解。  比较坑的是该题说了数据范围n最大100,但是我开了105竟然RE ,看成505就过了 。  所以在

AC_Arthur的专栏 909

OpenClaw插件开发指南:扩展AI智能体的无限可能

OpenClaw插件开发指南介绍了如何扩展AI智能体的功能。该插件系统支持多种类型(功能、集成、工具、界面、工作流插件),具有模块化、低耦合等优势。开发环境需要安装SDK和工具包,通过plugin.json配置插件信息,主文件实现核心功能。API提供智能体管理、任务执行等接口,示例演示了文本处理插件的创建流程。开发者可基于此框架灵活扩展OpenClaw的能力。

一键难忘的博客 560

uva 1001 奶酪里的老鼠(狄杰斯特拉或弗洛伊德)

 题意:在一个三维的奶酪里面有n(n 在洞里面可以瞬间移动,在洞外面的移动速度为10秒一个单位,求最短时间 本来不难的一道题,因为图论做得少所以不太熟悉浪费了很多时间,今晚怒改一遍,试了弗洛伊德和狄杰斯特拉算法,都ac了,主要是读题不认真,泪目,今天下午选拔赛两道题也是因为各种数据类型的细节浪费时间,以后要多注意,after all ,detail is devil #include

GODSPEED 1341

电磁场仿真软件:CST Studio Suite_(25).案例分析与实践

在电磁场仿真中,材料属性的设置至关重要。通过API,您可以轻松地设置和修改材料属性,以适应不同的仿真需求。通过以上案例分析和实践,您已经学会了如何在CST Studio Suite中进行二次开发。自动化仿真流程:批量创建和运行仿真项目、优化设计参数、生成报告。自定义仿真设置:设置材料属性、边界条件和激励源。数据处理与分析:读取仿真结果、数据可视化和数据导出。高级脚本开发:多线程仿真、集成机器学习和云仿真。这些技能将帮助您更高效地进行电磁场仿真,提高设计质量和工作效率。

kkchenjj的博客 1383

大语言模型原理与工程实践:手把手教你训练 7B 大语言模型 自动化训练框架

近年来,大语言模型(Large Language Models,LLMs)在自然语言处理领域取得了突破性进展。从GPT-3到ChatGPT,再到最新的GPT-4,这些模型展现出了惊人的语言理解和生成能力,引发了学术界和产业界的广泛关注。然而,训练如此庞大的模型不仅需要海量的数据和计算资源,还需要复杂的工程实践和优化技巧。本文将深入探讨大语言模型的原理,并以7B参数规模的模型为例,详细介绍如何构建一个自动化训练框架,使读者能够亲自动手训练自己的大语言模型。

AI天才研究院 1920

UVA 1001 Say Cheese——最短路

不用求传递闭包,没有这样的数据#include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;cmath&gt; using namespace std; typedef long long ll; const int maxn = ...

hao_zong_yin的博客 500

qcc514x-qcc304x调试笔记

qcc514x-qcc304x调试笔记-1-QCC514x系列 qcc514x-qcc304x调试笔记-2-开发环境搭建 qcc514x-qcc304x调试笔记-3-如何修改蓝牙名称 qcc514x-qcc304x调试笔记-4-如何修改蓝牙地址 qcc514x-qcc304x调试笔记-5-如何区分左右耳 qcc514x-qcc304x调试笔记-6-PIO相关操作 ...

leezs的博客 1244

UVa 1001 Say Cheese

本文介绍了求解奶酪螨虫最短移动时间的问题。通过将三维空间中的路径规划建模为带权无向图,使用Dijkstra算法来计算最短路径。关键步骤包括:将空洞球心、起点和终点作为节点,根据空间关系计算边权(空洞内移动时间为0,奶酪中移动时间为距离×10秒),最终输出四舍五入后的最短时间。算法复杂度为O(n²logn),适用于n≤100的规模。

寂静山林 821

OV9734 DATASHEET,完整规格书

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

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

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

Say Cheese UVA - 1001

题意:无限大的奶酪里有n(0&lt;=n&lt;=100)个球形的洞。帮助小老鼠A用最短的时间到达小老鼠O所在的位置。奶酪里的移动速度为10秒一个单位,但是在洞里可以瞬间移动。洞和洞可以相交。输入n个球的位置和半径,以及A和O的坐标,求最短时间 思路:1.因为n的大小最多为100,可以用flord 2.注意i和j的距离d[i][j]应该为double,此题答案是四舍五入,floor是向下取整,...

沐妖的博客 256

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

uva 1001 say cheese dijstra

题意:在一个奶酪中,有一些洞,一老鼠为了去追寻另外一只老鼠,决定从它所在位置走到另外一只老鼠的所在地,它每10s走1单位,在洞中可以瞬移,给定两只老鼠的坐标,以及洞的坐标和相应的半径。求最短路。 思路:起点和终点视为没有半径为0的圆,另外起点和终点不走洞的话,当然直线距离,要考虑走洞的情况,每两个洞之间的最短距离最圆心距离减去两圆的半径,起点和终点视作半径为0的洞,给所有“洞”编号,距离用dou

chen_minghui的博客 421

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Say Cheese(UVA 1001)

题目 题意 无限大的奶酪里有n(0<=n<=100)个球形的洞。你的任务是帮助小老鼠A用最短的时间到达小老鼠O所在位置。奶酪里的移动速度为10秒一个单位,但是在洞里可以瞬间移动。洞和洞可以相交。输入n个球的位置和半径,以及A和O的坐标,求最短时间。 思路 把起点A和终点O都看成是半径为0的球,共有n+2个球,每个球的球心看成结点。两个结点的距离就是球心的距离减去两个球的半径。如果距离为负,说明两个球是相通的,此时距离为0。用floyd算法,最后注意单位转化就行。 代码 #include<b

子夜的博客 222

Uva1001 Say Cheese Floyd

题意:一个无限大的奶酪里有n个球形的洞,在洞内可以瞬移,不然每一个单位要用10sec,现在给定起始点和结束点,问最短需要耗时多久? 思路:把球形的洞当做是节点,两点之间的距离是两者球心的距离减去两者的半径,因为n<=100,所以可以用floyd算法来解决。但是需要注意有可能两个球相交,所以要考虑这种情况 #include <stdio.h> #inclu...

anyanzhuo9864的博客 228

UVA 1001 Say Cheese

题目链接  http://acm.hust.edu.cn/vjudge/problem/35891 题意:在一个三维的奶酪里面有n(n 老鼠A想到达老鼠B的位置,在洞里面可以瞬间移动, 在洞外面的移动速度为10秒一个单位,求最短时间 计算洞与洞之间的距离 老鼠A和老鼠B所在位置的半径r[0] = r[n+1] = 0; 如果洞i与洞j有相交 mp[i][j] = 0

Waves___的博客 483

UVa 1001 Say Cheese (Floyd)

题目链接:http://acm.hust.edu.cn/vjudge/problem/35891 大体题意:给出n个球形洞的坐标和半径,以及小老鼠A和B的坐标,问小老鼠A最快多长时间能到达B的位置。 思路:

Interstellar_的博客 993

第六十题 UVA1001 奶酪里的老鼠 Say Cheese

一看到这个题的时候我惊了,原来这不是我当年NOIP的那个题么,仔细一看这个题ACM/ICPC Finas2001 是个老题,心中恍然大悟原来NOIP的题也是有出处的呀,翻了一下NOIP2017,发现还是略微有些不同的,但是要是NOIP之前做过这道题,那绝对是相当的有感jio。。。。。 题目分析: 把每个点都看作洞,起点终点看做半径为0的洞,洞和洞之间的距离等于欧几里得距离减去两个洞的半径,然而这...

苦鬼·。 493

UVA 1001 Say Cheese(最短路)

题意:阅读题....无限大的奶酪里有n个球形的洞。你的任务是帮助老鼠A用最短时间到达老鼠O的位置。奶酪里面的移动速度为10S一个单位,但是在洞里可以瞬间移动,求最短时间 思路:先耐心看题目...然后就floyd随便做了 #include using namespace std; const int maxn = 505; int x[maxn],y[maxn],z[maxn],r[ma

围巾的ACM博客 824

UVa 1001 Say Cheese【floyd】

题意:在一个三维的奶酪里面有n(n<=100)个洞,老鼠A想到达老鼠B的位置, 在洞里面可以瞬间移动,在洞外面的移动速度为10秒一个单位,求最短时间 看到n<=100,又是求最短时间,想到用floyd,可是给的是坐标,,还是三维的, 建不出图来----最后看的题解-------------- 是这一篇-- http://morris821028.github.io/20...

weixin_30486037的博客 128

UVA1001 Say Cheese(Dijkstra或Floyd)

题目链接:UVA1001 题意:在一个巨大奶酪中的A要以最短的时间与B相遇。在奶酪中走一米的距离花费的时间是10s,而奶酪中有许多洞,穿过这些洞的时间是0s。给出A、B以及各个洞的坐标,求最短的时间。 三维??乖乖,这怎么用最短路算法。在搜了题解后才知道可以编号压缩成二维啊,这操作骚气,实在想不出来啊!! 思路:将起点,终点,各个洞进行编号看成一个一个的点,写一个函数求出各个点之间的距离(即...

sykai1的博客 248

uva 1001 Say Cheese 最短路 spfa Floyd

首先是建图,把下标为0和下标为n+1的两个点设为起点和终点,把这两个点看成两个半径为0的洞,下标1~n的点为洞,则图上两点的距离为dis = |(xi,yi,zi)-(xj,yj,zj)|-ri-rj;如果dis&lt;0,则边权为0,如果dis&gt;0,则边权为10*dis。 有两种算法,一种是spfa+隐式图搜索,ac用时0.000,一种是直接Floyd,ac用时0.010。 spfa+...

GaoJieVery6 249
上一篇: Page Hopping
下一篇: Lift Hopping
Techay
博客等级 码龄11年 11粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值