洛谷day3

B2053 

求一元二次方程 - 洛谷

掌握printf用法;

#include <iostream>
#include <cmath>
using namespace std;
double a,b,c;
double delta;
double x1,x2;int main() {cin>>a>>b>>c;delta = b*b-4*a*c;if(delta>0){x1 = (-b+sqrt(delta))/(2*a);x2 = (-b-sqrt(delta))/(2*a);if(x1>x2)printf("x1=%.5lf;x2=%.5lf",x2,x1);else{printf("x1=%.5lf;x2=%.5lf",x1,x2);}}else if(delta==0){x1 = (-b+sqrt(delta))/(2*a);printf("x1=x2=%.5lf",x1);}else{cout<<"No answer!";}
}

减少代码量,利用swap算法,交换x1,x2值;

#include <iostream>
#include <cmath>
using namespace std;
double a,b,c;
double delta;
double x1,x2;int main() {cin>>a>>b>>c;delta = b*b-4*a*c;if(delta>0){x1 = (-b+sqrt(delta))/(2*a);x2 = (-b-sqrt(delta))/(2*a);if(x1>x2)swap(x1,x2);printf("x1=%.5lf;x2=%.5lf",x1,x2);}else if(delta==0){x1 = (-b+sqrt(delta))/(2*a);printf("x1=x2=%.5lf",x1);}else{cout<<"No answer!";}
}

 B3854

注意必须得是long long型,不然会有部分测试不通过。

#include <iostream>
using namespace std;
long long m,n,a,b;
int main() {cin>>m>>n>>a>>b;if((m-a)*n>=b+1)cout<<"Program ends with return value 0.";elsecout<<"Segmentation fault.";
}

知识小拓展

在 C++ 中,`ios::sync_with_stdio(false);` 是一条指令,用来关闭 C++ 的 `iostream` 类库(如 `cin` 和 `cout`)与 C 的标准输入输出库(如 `scanf` 和 `printf`)之间的同步。默认情况下,这两个库是同步的,以保证你可以在同一个程序中混合使用它们,并按照预期的顺序进行输入和输出操作。

当你调用 `ios::sync_with_stdio(false);` 之后,这种同步被关闭,这样做可以提高 `iostream` 的输入输出效率,因为取消了与 C 标准库的额外同步操作。但是,一旦同步关闭,就不应该混用 `iostream` 和 C 的标准输入输出库,因为它们的输出可能不会按照你写代码时的顺序出现。

这条指令经常用在需要大量输入输出操作,且对程序运行时间要求很高的情况,比如算法竞赛,因为它可以显著减少输入输出所需的时间。

下面是一个例子,展示如何在程序中使用它:

#include <iostream>int main() {// 关闭同步std::ios::sync_with_stdio(false);// 取消 cin 与 stdin 的绑定,以提高读取效率std::cin.tie(NULL);// 你的代码逻辑std::cout << "Fast output without sync!\n";// 后续不要使用任何 C 的标准输入输出函数return 0;
}

请注意,调用 `ios::sync_with_stdio(false);` 之后,还应该调用 `cin.tie(NULL);` 来解除 `cin` 与 `cout` 之间的绑定,这样可以进一步提升输入输出的效率。这条指令会导致 `cin` 在每次从 `cout` 输出之前不再自动刷新缓冲区。

B3825

#include<iostream>
using namespace std;
int x,h;
int main(){ios::sync_with_stdio(0);//不能再混用 C 和 C++ 的输入输出功能,iostream 库的效率会提高cin.tie(0);cin>>x>>h;if(x<10) cout<<"Drizzle";else if(x>=10 && x<25) cout<<"Moderate Rain";else if(x>=25 && x<50) cout<<"Heavy Rain";	else if(x>=50) cout<<"Torrential Rain";if(h==1){if(x>=20) cout<<endl<<"YES";else cout<<endl<<"NO";}
}

B3814-可多看几次

for (auto it = direcion.begin(); it != direcion.end(); ++it) {pair<int, int>& move = *it;int nx = mx + move.first;int ny = my + move.second;
#include<iostream>
#include <vector>
#include <utility> 
#include<set>
using namespace std;//判断棋子是否在棋盘内
bool inBoard(int x,int y){return x >= 1 && x <= 10 && y >= 1 && y <= 9;
}int main(){int sx, sy, cx, cy, mx, my; cin >> sx >> sy >> cx >> cy >> mx >> my;//c++11之前不支持// std::vector<std::pair<int, int> > moves = {// {-2, 1}, {-2, -1}, {-1, 2}, {-1, -2},// {1, 2}, {1, -2}, {2, 1}, {2, -1}// };vector<pair<int, int> > direcion;direcion.push_back(make_pair(-2, 1));direcion.push_back(make_pair(-2, -1));direcion.push_back(make_pair(-1, 2));direcion.push_back(make_pair(-1, -2));direcion.push_back(make_pair(1, 2));direcion.push_back(make_pair(1, -2));direcion.push_back(make_pair(2, 1));direcion.push_back(make_pair(2, -1));// 存储马在移动后可以攻击的位置set<pair<int, int> >attackPositions;//遍历马的移动for (auto &move : direcion) {int nx = mx + move.first;int ny = my + move.second;// 如果移动后仍在棋盘内if (inBoard(nx, ny)) {// 遍历该位置马可以攻击的所有位置for (auto &attack : direcion) {int ax = nx + attack.first;int ay = ny + attack.second;// 如果攻击位置在棋盘内,则添加到攻击位置集合中if (inBoard(ax, ay)) {attackPositions.insert(make_pair(ax, ay));}}}}// 检查帅和车是否在马的攻击范围内if (attackPositions.count(make_pair(sx, sy)) > 0 && attackPositions.count(make_pair(cx, cy)) > 0) {cout << "Yes" << endl;} else {cout << "No" << endl;}return 0;}

B3720(可复看)

#include <cstddef>
#include <iostream>
#include <string>using namespace std;int main() {long long x;cin >> x;string dishes;cin >> dishes;// 检查是否购买了 B 菜和 C 菜bool hasB = dishes.find('B') != string::npos;//string::npos 是一个常量,表示未找到的位置。它的值通常是最大的有效索引值加一bool hasC = dishes.find('C') != string::npos;// 根据购买的菜品计算折扣if (hasB && hasC) {// 两种菜都买了,打六折x = x * 6 / 10;} else if (hasB) {// 只买了 B 菜,打八折x = x * 8 / 10;} else if (hasC) {// 只买了 C 菜,打七折x = x * 7 / 10;}cout << x << endl;return 0;
}

字符方法,进行简单判断: 

#include <iostream>using namespace std;int main() {long long x;cin >> x;char dish1, dish2;cin >> dish1 >> dish2;// 检查是否购买了 B 菜和 C 菜bool hasB = dish1 == 'B' || dish2 == 'B';bool hasC = dish1 == 'C' || dish2 == 'C';// 根据购买的菜品计算折扣if (hasB && hasC) {// 两种菜都买了,打六折x = x * 6 / 10;} else if (hasB) {// 只买了 B 菜,打八折x = x * 8 / 10;} else if (hasC) {// 只买了 C 菜,打七折x = x * 7 / 10;}cout << x << endl;return 0;
}

count方法

#include <iostream>
#include <string>
#include <algorithm> // 引入算法库,以使用 std::countusing namespace std;int main() {long long x;cin >> x;string dishes;cin >> dishes; // 读取两个字符作为一个字符串// 使用 count 统计 B 和 C 的出现次数int countB = count(dishes.begin(), dishes.end(), 'B');int countC = count(dishes.begin(), dishes.end(), 'C');// 检查是否购买了 B 菜和 C 菜bool hasB = countB > 0;bool hasC = countC > 0;// 根据购买的菜品计算折扣if (hasB && hasC) {// 两种菜都买了,打六折x = x * 6 / 10;} else if (hasB) {// 只买了 B 菜,打八折x = x * 8 / 10;} else if (hasC) {// 只买了 C 菜,打七折x = x * 7 / 10;}cout << x << endl;return 0;
}

B3677

简单分类讨论即可。

#include<iostream>
#include<cmath>
using namespace std;int main(){long long a,b;cin>>a>>b;if(b==0)cout<<"NO"<<endl<<"YES"<<endl;else{if(a>=0){cout<<"NO"<<endl;}else{if(b%2==0){cout<<"NO"<<endl;}else{cout<<"YES"<<endl;}}if(abs(a)%2==1){cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/288737.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从根本上优雅地解决 VSCode 中的 Python 模块导入问题

整体概述&#xff1a; 在我尝试运行 test_deal_file.py 时&#xff0c;我遇到了一个 ModuleNotFoundError 错误&#xff0c;Python告诉我找不到名为 controllers 的模块。这意味着我无法从 deal_file.py 中导入 read_excel 函数。 为了解决这个问题&#xff0c;我尝试了几种方法…

JAVA面试大全之JVM和调优篇

目录 1、类加载机制 1.1、类加载的生命周期&#xff1f; 1.2、类加载器的层次? 1.3、Class.forName()和ClassLoader.loadClass()区别? 1.4、JVM有哪些类加载机制&#xff1f; 2、内存结构 2.1、说说JVM内存整体的结构&#xff1f;线程私有还是共享的&#xff1f; 2.2…

Rust使用原始字符串字面量实现Regex双引号嵌套双引号正则匹配

rust使用Regex实现正则匹配的时候&#xff0c;如果想实现匹配双引号&#xff0c;就需要使用原始字符串字面量&#xff0c;不然无法使用双引号嵌套的。r#"..."# 就表示原始字符串字面量。 比如使用双引号匹配&#xff1a; use regex::Regex;fn main() {println!(&qu…

【性能优化】 【回溯】 【字符串】1307. 口算难题

作者推荐 视频算法专题 本文涉及知识点 数学 回溯 字符串 性能优化 LeetCode1307. 口算难题 给你一个方程&#xff0c;左边用 words 表示&#xff0c;右边用 result 表示。 你需要根据以下规则检查方程是否可解&#xff1a; 每个字符都会被解码成一位数字&#xff08;0 - …

2024年云计算使用报告,89%组织用多云,25%广泛使用生成式AI,45%需要跨云数据集成,节省成本是云首要因素

备注&#xff1a;本文来自Flexera2024年的云现状调研报告的翻译。原报告地址&#xff1a; https://info.flexera.com/CM-REPORT-State-of-the-Cloud Flexera是一家专注于做SaaS的IT解决方案公司&#xff0c;有30年发展历史&#xff0c;5万名客户&#xff0c;1300名员工。Flex…

夜莺浏览日志、filebeat采集日志(四)

文章目录 一、elasticsearch二、filebeat三、日志分析 一、elasticsearch docker启动 docker run -d -p 9200:9200 -p 9300:9300 --restartalways -e ES_JAVA_OPTS"-Xms512m -Xmx512m" \ -e discovery.typesingle-node -e xpack.security.enabledtrue -e ELASTIC_P…

使用GO对PostgreSQL进行有意思的多线程压测

前言 针对PostgreSQL进行压缩&#xff0c;有很多相关的工具。有同学又要问了&#xff0c;为何还要再搞一个&#xff1f;比如&#xff0c;pgbench, sysbench之类的&#xff0c;已经很强大了。是的&#xff0c;它们都很强大。但有时候&#xff0c;在一些特殊的场景&#xff0c;可…

Django开发复盘

一、URL 对于一个不会写正则表达式的蒟蒻来说&#xff0c;在urls.py中就只能傻傻的写死名字&#xff0c;但是即便这样&#xff0c;还会有很多相对路径和绝对路径的问题&#xff08;相对ip端口的路径&#xff09;&#xff0c;因为我们网页中涉及到页面跳转&#xff0c;涉及到发送…

Tuxera for Mac2024免费读写硬盘U盘工具

作为软件产品专家&#xff0c;我对各类软件都有较为深入的了解&#xff0c;下面介绍Tuxera for Mac这款读写硬盘/U盘工具的相关信息&#xff1a; Tuxera for Mac是一款高效稳定的NTFS读写工具&#xff0c;专为解决Mac系统无法直接读写NTFS格式驱动器的问题而设计。它提供了完整…

Android 自定义EditText

文章目录 Android 自定义EditText概述源码可清空内容的EditText可显示密码的EditText 使用源码下载 Android 自定义EditText 概述 定义一款可清空内容的 ClearEditText 和可显示密码的 PasswordEditText&#xff0c;支持修改提示图标和大小、背景图片等。 源码 基类&#xf…

实现商铺和缓存与数据库双写一致

2.4 实现商铺和缓存与数据库双写一致 核心思路如下&#xff1a; 修改ShopController中的业务逻辑&#xff0c;满足下面的需求&#xff1a; 根据id查询店铺时&#xff0c;如果缓存未命中&#xff0c;则查询数据库&#xff0c;将数据库结果写入缓存&#xff0c;并设置超时时间…

ssm小区车库停车系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm小区车库停车系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…

如何在家中使用手机平板电脑 公司iStoreOS软路由实现远程桌面

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是&#xff1a;** 简介 软路由是PC的硬件加上路由系统来实现路由器的功能&#xff0c;也可以说是使用软件达成路由功能的路由器。 使用软路由控制局域网内计算机的好处&#xff1a…

HCIA-Datacom实验_03_实验一:华为VRP系统基本操作

1.运行eNSP&#xff0c;设置-界面设置-自定义界面-设备标签&#xff0c;“总显示接口标签” 打钩。 2.按照实验拓扑添加设备 注&#xff1a;如果是真实环境&#xff0c;需要接两条线&#xff1a; &#xff08;1&#xff09;串口线&#xff1a;电脑USB口到网络设备Console口&am…

Windows下载使用nc(netcat)命令

‘nc’ 不是内部或外部命令&#xff0c;也不是可运行的程序&#xff1f; 点击链接地址&#xff0c;下载压缩包。 完成后解压 使用方式&#xff08;三种&#xff09;&#xff1a; 1、直接双击exe使用 2、把这个exe放到cmd启动的默认路径下 放到默认路径下&#xff0c;使用nc&a…

MySQL高级语句(二)

一、前期准备工作 1.1 登陆mysql&#xff0c;查看数据表 1.2 显示所有表 1.3 创建guigui表并插入数据 1.4 创建ky35表格并插入数据 二、子连接 子查询也被称作内查询或者嵌套查询&#xff0c;是指在一个查询语句里面还嵌套着另一个查询语句。子查询语句是先于主查询语句被执行的…

自动生成测试位置吸附脚本设计思路

前言 计算一个异质结需要测试对比不同吸附位置之间的能量差异&#xff0c;可以直接手动建模&#xff0c;但是人太懒了&#xff0c;能交给机器的自己就别动手 问题描述 如图上所示是我计算吸附用的衬底&#xff0c;当原子在上面吸附时我考虑了25个&#xff08;可以随便取&…

Tensorflow2.0笔记 - 使用compile,fit,evaluate,predict简化流程

本笔记主要用compile, fit, evalutate和predict来简化整体代码&#xff0c;使用这些高层API可以减少很多重复代码。具体内容请自行百度&#xff0c;本笔记基于FashionMnist的训练笔记&#xff0c;原始笔记如下&#xff1a; Tensorflow2.0笔记 - FashionMnist数据集训练-CSDN博…

OSPF-区域间路由计算

一、概述 前面学习了我们学习了Router-LSA和Network-LSA&#xff0c;它们都只能在区域内进行泛洪&#xff0c;而且我们之前一直主要是单区域学习。OSPF的核心是骨干区域Area 0&#xff0c;其它都为非骨干区域。但是在大型网络中&#xff0c;单区域OSPF会存在一定的问题&#xf…

[BT]BUUCTF刷题第9天(3.27)

第9天&#xff08;共2题&#xff09; [护网杯 2018]easy_tornado 打开网站就是三个txt文件 /flag.txt flag in /fllllllllllllag/welcome.txt render/hints.txt md5(cookie_secretmd5(filename))当点进flag.txt时&#xff0c;url变为 http://b9e52e06-e591-46ad-953e-7e8c5f…