洛谷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.mzph.cn/news/768029.shtml

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

相关文章

Windows 系统 隐藏C++ 控制台输入的字符

在控制台写了一个小程序,一个简单的登录账户的代码,发现用户名显示很正常,但是在输入密码的时候也显示出来就比较尴尬,所以需要在输入密码的时候把字符隐藏掉. windows和linux实现方式不一样,我在windows下实现的,使用了windows的函数. #include <iostream> #include &…

ensp ppp验证实验(二)

实验拓扑&#xff1a; 1、R1和R2使用PPP链路直连&#xff0c;R2和R3把2条PPP链路捆绑为PPP MP直连 2、按照图示配置IP地址 3、R2对R1的PPP进行单向chap验证 4、R2和R3的PPP进行双向chap验证 实验内容&#xff1a; R1配置&#xff1a; #修改名称 <Huawei>sys Enter …

一些规律、现象

图文部分由COPILOT生成。 规律详情 墨菲定律 墨菲定律(Murphys Law) 一件事可能出错时就一定会出错。 图&#xff1a;AI生成 破窗效应 破窗效应(Broken windows theory&#xff09;是犯罪心理学理论。以一幢有少许破窗的建筑为例&#xff0c;如果那些窗没修理好&#xff0…

vue基础——java程序员版(vuex)

​ vuex可以定义共享数据。 1、主要结构 src/store/index.js 是使用vuex的核心js文件。 定义数据&#xff1a;state 修改数据(同步)&#xff1a;mutations 修改数据(异步)&#xff1a;action调用>mutations 下面定义了一个公共数据msg &#xff0c;mutations方法setName…

ShardingSphere水平分表——开发经验(2)

1. 什么场景下分表&#xff1f; 数据量过大或者数据库表对应的磁盘文件过大。 Q&#xff1a;多少数据分表&#xff1f; A&#xff1a;网上有人说1kw&#xff0c;2kw&#xff1f;不准确。 1、一般看字段的数量&#xff0c;有没有包含text类型的字段。我们的主表里面是不允许有t…

【晴问算法】入门篇—日期处理—日期先后

题目描述 给定两个日期DAY1和DAY2&#xff0c;判断DAY1是否在DAY2之前。输入描述 前两行分别为日期DAY1和DAY2(格式为YYYY-MM-DD&#xff0c;范围为1900-01-01≤DAY≤2199-12-31)&#xff0c;数据保证一定合法。输出描述 如果DAY1在DAY2之前&#xff0c;那么输出YES&#xff0c…

从零开始学HCIA之网络基础知识02

1、TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff09;参考模型&#xff0c;它是当下实际的业界标准。 2、TCP/IP这个名字来自该协议簇中两个非常重要的协议&#xff0c;一个是IP&#xff08;Internet Protocol&#xff09;&#xff0c;另一个是T…

大厂面试--列举并解释一下 http的所有请求方法?

HTTP请求方法 HTTP/1.1定义的请求方法有8种: GET、POST、 PUT、 DELETE、PATCH、 HEAD、OPTIONS、TRACE。 最常的两种GET和POST&#xff0c;如果是RESTful接口的话- -般会 用到GET、POST、 DELETE、 PUT。 OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法&#xff0c;也…

IOS面试题编程机制 51-55

51. 在iPhone应用中如何保存数据?有以下几种保存机制: 1).通过web服务,保存在服务器上 2).通过NSCoder固化机制,将对象保存在文件中 3).通过SQlite或CoreData保存在文件数据库中52. 阐述Block 的理解?并写出一个使用Block执行UIVew动画?Block是可以获取其他函数局部变量的…

ElasticSearch插件安装及配置

Docker安装ElasticSearch docker compose 安装直接看步骤三&#xff1a;新建索引 1、安装elasticsearch &#xff08;1&#xff09;下载elasticsearch和kibana docker pull elasticsearch:7.9.1 docker pull kibana:7.9.1&#xff08;2&#xff09;配置 mkdir -p /mydata/…

Go 限流器-漏桶 VS 令牌桶 常用包原理解析

本文主要介绍两个包Uber漏桶&#xff0c;time/rate令牌桶 可以了解到&#xff1a; 使用方法漏桶/令牌桶 两种限流思想 and 实现原理区别及适用场景应用Case 背景 我们为了保护系统资源&#xff0c;防止过载&#xff0c;常常会使用限流器。 使用场景&#xff1a; API速率限制…

鱼塘钓鱼(多路归并)

有 N 个鱼塘排成一排&#xff0c;每个鱼塘中有一定数量的鱼&#xff0c;例如&#xff1a;N5 时&#xff0c;如下表&#xff1a; 鱼塘编号12345第1分钟能钓到的鱼的数量 &#xff08;1…1000&#xff09;101420169每钓鱼1分钟钓鱼数的减少量&#xff08;1…100)24653当前鱼塘到…

带3090显卡的Linux服务器上部署SDWebui

背景 一直在研究文生图&#xff0c;之前一直是用原始模型和diffuser跑SD模型&#xff0c;近来看到不少比较博主在用 SDWebui&#xff0c;于是想着在Linux服务器上部署体验一下&#xff0c;谁知道并没有想象的那么顺利&#xff0c;还是踩了不少坑。记录一下过程&#xff0c;也许…

YOLO-MS 论文解读

paper&#xff1a;YOLO-MS: Rethinking Multi-Scale Representation Learning for Real-time Object Detection official implementation&#xff1a;https://github.com/fishandwasabi/yolo-ms 背景 尽管已经取得了很好的性能&#xff0c;但识别不同尺度的物体仍是实时目标…

并发容器之CopyOnWrite

CopyOnWrite容器 什么是CopyOnWrite容器呢&#xff1f;CopyOnWrite容器是一个写时复制的容器。在向容器中添加元素时&#xff0c;不会直接向当前容器中添加&#xff0c;而是将当前容器进行copy&#xff0c;复制出一个新的容器&#xff0c;然后往新的容器中添加元素&#xff0c;…

3.24总结

P - 节拍 Zty是一个总是充满热情的人。他想解决世界上各种困难的ACM问题。而且他有一个习惯&#xff0c;他不喜欢解决 一个比他已经解决的问题容易的问题。现在一芬飞给他n个难度问题&#xff0c;在解决另一个问题后告诉他解决的相对时间。 你应该帮助zty找到一个解决问题的顺序…

thymeleaf模板公共块导入不报错,能显示文字但无法显示div的问题解决办法!

本篇文章主要讲解thymeleaf模板公共块导入时,没有任何报错信息,但是进行排查后发现能够显示文字,改成html标签后就无法显示div的问题解决办法! 日期:2024年3月24日 作者:任聪聪 问题现象: 说明:代码好好的,引入的路径也是对的,可以显示文字,但不可以div,自定义公共…

2023年12月青少年软件编程C语言二级真题答案——持续更新.....

一、统计指定范围里的数 给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。 时间限制:1000 内存限制:65536 输入 第一行1个整数n、,分别表示序列的长度。(0 < n ≤ 10000) 第二行n个正整数,表示序列里…

【Mysql】硬盘性能压测(Sysbench工具)

1、IOPS和吞吐量介绍 IOPS&#xff08;每秒输入/输出操作数&#xff09;&#xff1a;是衡量存储设备每秒能够执行的输入/输出操作的数量。对于数据库等需要频繁读写的应用程序而言&#xff0c;IOPS 是一个关键的性能指标。更高的 IOPS 意味着存储设备能够处理更多的读写请求&am…

检索增强生成(RAG)技术:实现流程、作用及应用案例

一. RAG简介 在自然语言处理&#xff08;NLP&#xff09;领域中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;技术巧妙地结合了信息检索与神经网络生成模型的力量&#xff0c;通过在生成过程中引入相关的外部信息&#xff0c;实现了在…