当前位置: 首页 > news >正文

839 - Not so Mobile (UVA)

题目链接如下:

Online Judge

这道题刘汝佳的解法极其简洁,用了20来行就解决了问题。膜拜……

他的解法如下:天平(UVa839紫书p157)_天平 uva 839_falldeep的博客-CSDN博客

我写了两个(都很冗长),一开始一直报错,搞得我十分头大,后来发现是建立new node的时候left, right孩子没有初始化为nullptr……

第一个简洁一些,但是就算下面天平已经不平衡了,还是会一直计算到结束。代码如下:

#include <cstdio>
// #define debugstruct node{int wt, dis;node* left = nullptr;node* right = nullptr;
};
bool flag;void dfs(node* rt){rt->left = new node;rt->right = new node;scanf("%d %d %d %d", &rt->left->wt, &rt->left->dis, &rt->right->wt, &rt->right->dis);if (!rt->left->wt){dfs(rt->left);}if (!rt->right->wt){dfs(rt->right);}rt->wt = rt->left->wt + rt->right->wt;if (rt->left->wt * rt->left->dis != rt->right->wt * rt->right->dis){flag = false;}
}void deleteTree(node* rt){if (rt->left){deleteTree(rt->left);}if (rt->right){deleteTree(rt->right);}delete rt;
}int main(){#ifdef debugfreopen("0.txt", "r", stdin);freopen("1.txt", "w", stdout);#endifint n, kase;scanf("%d", &n);for (kase = 0; kase < n; ++kase){printf("%s", kase ? "\n" : "");flag = true;node* root = new node;dfs(root);printf("%s\n", flag ? "YES" : "NO");deleteTree(root);}#ifdef debugfclose(stdin);fclose(stdout);#endifreturn 0;
}

另一个是中间发现有问题了就可以提前跳出:

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
// #define debugstruct node{int wt, dis;node* left = nullptr;node* right = nullptr;
};
std::string line;
int n, kase, wl, dl, wr, dr, p;
std::vector<std::string> vec;
bool flag;void dfs(node* rt){std::stringstream in(vec[p++]);in >> wl >> dl >> wr >> dr;rt->left = new node;rt->left->wt = wl;rt->left->dis = dl;rt->right = new node;rt->right->wt = wr;rt->right->dis = dr;if (!rt->left->wt){dfs(rt->left);if (!flag){return;}rt->left->wt = rt->left->left->wt + rt->left->right->wt;}if (!rt->right->wt){dfs(rt->right);if (!flag){return;}rt->right->wt = rt->right->left->wt + rt->right->right->wt;}if (rt->left->wt * rt->left->dis != rt->right->wt * rt->right->dis){flag = false;}
}void deleteTree(node* rt){if (rt->left){deleteTree(rt->left);}if (rt->right){deleteTree(rt->right);}delete rt;
}int main(){#ifdef debugfreopen("0.txt", "r", stdin);freopen("1.txt", "w", stdout);#endifscanf("%d\n\n", &n);for (kase = 0; kase < n; ++kase){printf("%s", kase ? "\n" : "");while (getline(std::cin, line) && !line.empty()){vec.push_back(line);}flag = true;node *root = new node;p = 0;dfs(root);printf("%s\n", flag ? "YES" : "NO");vec.clear();deleteTree(root);}#ifdef debugfclose(stdin);fclose(stdout);#endifreturn 0;
}

相关文章:

839 - Not so Mobile (UVA)

题目链接如下&#xff1a; Online Judge 这道题刘汝佳的解法极其简洁&#xff0c;用了20来行就解决了问题。膜拜…… 他的解法如下&#xff1a;天平&#xff08;UVa839紫书p157&#xff09;_天平 uva 839_falldeep的博客-CSDN博客 我写了两个&#xff08;都很冗长&#xff…...

php字符串处理函数的使用

php字符串处理函数的使用 trim() trim()函数的功能用于去除字符串首尾的空白字符(包括空格、制表符、换行符等&#xff09;。它可以用于清理用户输入的数据或去除字符串中的多余空格。 <?php $char" holle world! ";echo trim($char) ?>str_repl…...

UEC++ day8

伤害系统 给敌人创建血条 首先添加一个UI界面用来显示敌人血条设置背景图像为黑色半透明 填充颜色 给敌人类添加两种状态表示血量与最大血量&#xff0c;添加一个UWidegtComponet组件与UProgressBar组件 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category "Enemy …...

学习记录——ipv4、ipv6与ip、DNS、网络协议

文章目录 前情提要&#xff1a;网络协议和域名DNS协议、DNS污染Ipv4、Ipv6NAT协议&#xff0c;IP&#xff1a;端口&#xff0c;环节IP地址枯竭NAT-PT协议&#xff0c;加速Ipv6应用 前情提要&#xff1a; 本文仅做个人的学习记录以及理解&#xff0c;可能存在一些错误。 网络协…...

cefsharp119.4.30(cef119.4.3,Chromium119.0.6045.159)版本升级体验支持H264及其他多个H264版本

Cefsharp119.4.30,cef119.4.3,Chromium119.0.6045.159 此更新包括一个高优先级安全更新 This update includes a high priority security update. 说明:此版本119.4.3支持H264视频播放(需要联系我),其他版本。.NETFramework 4.6.2 NuGet Gallery | CefSharp.WinForms 119.…...

“index“ should always be multi-word

vue报错&#xff1a;Component name “index” should always be multi-word 分析&#xff1a;组件名要以驼峰格式命名&#xff0c;自定义的要以loginIndex.vue等这种方式命名&#xff0c;防止和html标签冲突&#xff0c;所以命名index.vue 会报错 解决&#xff1a;在.eslint…...

服务器64GB内存、8核CPU的MySQL 8配置参数

服务器64GB内存、8核CPU的MySQL 8配置参数可以按照以下步骤进行调优&#xff1a; 调整缓冲区相关参数&#xff1a; 增加innodb_buffer_pool_size的值&#xff0c;将其设置为4GB或更大&#xff0c;以加速频繁读取的操作。 – 2147483648 增加key_buffer_size的值&#xff0c;将…...

Python+Qt虹膜检测识别

程序示例精选 PythonQt虹膜检测识别 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonQt虹膜检测识别》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与应用推…...

我的创作纪念日——365天

机缘 最开始我写博客没有什么特别的原因&#xff0c;主要是因为以下几点&#xff1a; 练习自己的语言组织能力 记录自己学习生活中学到的知识 主要还是想找一个好的保存 Markdown 笔记的平台。 最终我选择了 CSDN&#xff0c;一来是因为 CSDN 对 Markdown 语法的支持较为全面…...

安卓手机便签APP用哪个,手机上好用的便签APP是什么

在日常生活及工作方面&#xff0c;总是有许多做不完的事情需要大家来处理&#xff0c;当多项任务堆叠交叉在一起时&#xff0c;很容易漏掉一些项目&#xff0c;这时候大家会借助经常携带的手机来记录容易忘记的事情&#xff0c;如手机上的闹钟、定时提醒软件都可以用来记录待办…...

前端Date对象的使用锦集

Date 对象用于处理日期与时间。 创造对象 var d new Date(); var d new Date(milliseconds); // 参数为毫秒 var d new Date(dateString); var d new Date(year, month, day, hours, minutes, seconds, milliseconds);方法 getDate() 获取当前日期对象是几日(1-31) cons…...

如何将ONLYOFFICE与Python应用程序集成

ONLYOFFICE是一项功能强大的开源文档编辑器&#xff0c;可以将文本文档、电子表格和演示文稿、电子表单编辑功能集成至任何编程语言编写的 Web 应用程序中。最新的7.5版本编辑器可以支持编辑PDF文件&#xff08;批注、绘图等&#xff09;。在本文中&#xff0c;我们会带你了解如…...

vector的简单模拟实现_C++

目录 一、vector的数据结构 二、vector的构造 三、vector的增删查改及空间管理 四、全部代码 一、vector的数据结构 vector以线性连续空间为基础来定义数据结构以及扩展功能。vector的两个迭代器&#xff0c;分别是start和finish&#xff0c;分别指向配置得来的已被使用的空…...

合并两个有序链表,剑指offer,力扣

目录 力扣题目地址&#xff1a; 原题题目&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 审题目事例提示&#xff1a; 解题思路&#xff1a; 具体流程如下&#xff1a; 代码实现&#xff1a; 知识补充&#xff1a; 力扣题目地址&#xff1a; 21. 合并两个有序…...

Delphi 12 Athens 发布了!

官方安装包 ☞ https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_4915718.iso 安装辅助工具、控件可以戳这里 &#xff1a;Delphi 12 资源 RAD Stuido 12 Athens &#xff0c;这次更新的细节还是比较多的&#xff0c;但主要还是多端&#xff08;iOS、An…...

基于Haclon的Blob分析

任务要求&#xff1a; 请用BLOB分析的方法计算图中所有灰度值在120和255之间的像素构成的8连通区域的面积与中心点坐标。 Blob基础&#xff1a; 分析过程&#xff1a;首先获取图像&#xff0c;然后根据特征对原始图像进行阈值分割&#xff08;区分背景像素和前景像素&#xf…...

安卓手机好用的清单软件有哪些?

生活中每个人都有丢三落四的习惯&#xff0c;伴随着生活节奏的加快&#xff0c;人们常忘事的情况会更加频繁的出现&#xff0c;这时候很多人就开始选择手机上记录清单类的软件&#xff0c;安卓手机在手机市场中占有很大的分量&#xff0c;在安卓手机上好用的记录清单的软件有哪…...

【追求卓越02】数据结构--链表

引导 今天我们进入链表的学习&#xff0c;我相信大家对链表都很熟悉。链表和数组一样&#xff0c;作为最基础的数据结构。在我们的工作中常常会使用到。但是我们真的了解到数组和链表的区别吗&#xff1f;什么时候使用数组&#xff0c;什么时候使用链表&#xff0c;能够正确的选…...

qt按照不同编码格式读取文字(UTF-16LE,UTF-8,UTF-8BOM,UTF-16BE)

enum class EncodingFormat : int {ANSI 0,//GBKUTF16LE,UTF16BE,UTF8,UTF8BOM, }; EncodingFormat VideoPlayer::FileCharacterEncoding(const QString &fileName) {//假定默认编码utf8EncodingFormat code EncodingFormat::UTF8;QFile file(fileName);if (file.open(QI…...

R语言和RStudio的下载安装(非常简便舒适)

目录 R语言和RStudio的关系R语言和Tableau下载R语言进入官网选择清华镜像源Download R for Windows选择base版本开始下载进行安装配置环境变量检查是否安装成功 下载RStudio进入官网点击下载进行安装检查是否安装成功打开选择R语言环境成功打开显示四个工作区 R语言和RStudio的…...

FileBrowser配置太复杂?一份JSON配置文件搞定所有,附详细参数解读

FileBrowser配置进阶指南&#xff1a;JSON驱动的自动化管理实践 对于经常需要部署和调整FileBrowser的技术团队而言&#xff0c;反复通过命令行参数配置不仅效率低下&#xff0c;更难以实现配置的版本控制和批量部署。本文将揭示如何通过JSON配置文件实现声明式配置管理&#x…...

Dinghy架构解析:深入理解docker-machine包装器的设计哲学

Dinghy架构解析&#xff1a;深入理解docker-machine包装器的设计哲学 【免费下载链接】dinghy faster, friendlier Docker on OS X 项目地址: https://gitcode.com/gh_mirrors/di/dinghy Dinghy作为一款为macOS用户打造的Docker工具&#xff0c;通过巧妙包装docker-mach…...

STM32-HAL-UART

同步工作模式就是在异步工作模式下多加了一根线CK&#xff08;clock时钟&#xff09;线&#xff0c;有了这条线之后收发双方就可以同步起来USART 简介USART&#xff08;Universal Synchronous/Asynchronous Receiver/Transmitter&#xff09;是一种通用串行通信接口&#xff0c…...

AI_概率统计-2.常见分布

以下涵盖均匀分布、正态分布&#xff08;高斯分布&#xff09;、伯努利分布、二项分布、多项分布&#xff0c;以及 Softmax 背后的分布思想。 2. 常见分布 核心目标&#xff1a;掌握 AI 中高频使用的6种分布&#xff08;均匀、正态、伯努利、二项、多项、softmax对应分布&#…...

ComfyUI IPAdapter完整指南:从零开始掌握AI图像风格迁移

ComfyUI IPAdapter完整指南&#xff1a;从零开始掌握AI图像风格迁移 【免费下载链接】ComfyUI_IPAdapter_plus 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_IPAdapter_plus 想要在AI绘画中轻松实现精准的风格迁移吗&#xff1f;ComfyUI IPAdapter插件为你提供…...

Cursor试用限制重置方案:技术原理与实战操作指南

Cursor试用限制重置方案&#xff1a;技术原理与实战操作指南 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Your request has been blocked as our system has detected suspicious activity / Youve reached your trial request limit. / Too…...

PHP 8.9类型严格模式上线倒计时:3类遗留项目(Laravel 9、Symfony 6、WordPress插件)紧急适配清单

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;PHP 8.9类型严格模式的核心机制与演进逻辑 PHP 8.9&#xff08;当前为社区提案中的前瞻版本&#xff0c;非官方发布版&#xff09;引入了**类型严格模式&#xff08;Strict Typing Mode&#xff09;**作…...

MATLAB小白也能搞定:用FFT快速模拟菲涅尔圆孔衍射(附完整代码和参数调优心得)

MATLAB实战&#xff1a;用FFT轻松模拟菲涅尔圆孔衍射现象 光学仿真一直是理工科学生既向往又畏惧的领域——那些复杂的积分公式和抽象的光场分布概念&#xff0c;常常让人望而却步。但今天&#xff0c;我要分享一个好消息&#xff1a;即使你完全不懂菲涅尔积分的数学推导&#…...

RH850 中断处理详解

Exception Cause List 下面是所有支持的exception类型&#xff0c;其中FENMI FEINT EIINT被称为中断&#xff1a;下面是每种exception类型的详细解释&#xff1a;两种中断地址处理方式 通过寄存器进行设置&#xff1a; 当RBASE.RINT 或 EBASE.RINT 1时&#xff0c;必然采用直…...

微生物组数据分析终极指南:如何用microeco包快速完成生态统计分析

微生物组数据分析终极指南&#xff1a;如何用microeco包快速完成生态统计分析 【免费下载链接】microeco An R package for downstream data analysis of microbiome omics data 项目地址: https://gitcode.com/gh_mirrors/mi/microeco microeco是一个功能强大的R语言包…...