2.16C语言学习

2024-02-17 00:04
文章标签 语言 学习 2.16

本文主要是介绍2.16C语言学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

P1296 奶牛的耳语

一开始以为是普通的二重循环,结果做出来答案是错的,但是思路不可能有问题,于是抱着试一试的想法加了一个排序,这样就过了,每次在第二重循环里遇到大于最小能听到的距离就跳出循环,进入下一轮,一直遍历完就行了

#include<bits/stdc++.h>
using namespace std;
int a[1000000];
int main(){int n,m,ans=0;scanf("%d %d",&n,&m);for(int i=0;i<n;i++){scanf("%d",&a[i]);}sort(a,a+n);for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){if(a[j]-a[i]<=m)ans++;else break;}}printf("%d",ans);return 0;
}

P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布

一道普及减的题目,唯一一个难的地方就是对输赢情况判断的处理,花了不少时间,对于周期循环的处理可以用取余来代替

#include<bits/stdc++.h>
using namespace std;
int a[300],b[300],ansa=0,ansb=0;
void check(int a,int b){if(a==0){if(b==1)ansb++;if(b==2)ansa++;if(b==3)ansa++;if(b==4)ansb++;}else if(a==1){if(b==0)ansa++;if(b==2)ansb++;if(b==3)ansa++;if(b==4)ansb++;}   else if(a==2){if(b==0)ansb++;if(b==1)ansa++;if(b==3)ansb++;if(b==4)ansa++;}else if(a==3){if(b==0)ansb++;if(b==1)ansb++;if(b==2)ansa++;if(b==4)ansa++;}else if(a==4){if(b==0)ansa++;if(b==1)ansa++;if(b==2)ansb++;if(b==3)ansb++;}
}
int main(){int n,m,k;scanf("%d %d %d",&n,&m,&k);for(int i=0;i<m;i++){scanf("%d",&a[i]);}for(int j=0;j<k;j++){scanf("%d",&b[j]);}for(int i=0;i<n;i++){check(a[i%m],b[i%k]);//	printf("%d %d\n",a[i%m],b[i%k]);}printf("%d %d",ansa,ansb);return 0;
}

P1258 小车问题

正解应该是二分,但这里可以用数学的方法进行计算出正确结果,那么我们先使用数学方法

显然,要保证甲的步行时间与乙的步行时间相等,所以甲乙的行程是对称的,即s1​=s3​。又要保证总时间最短,所以小车应该在半路回头去接乙而不是原地不动等乙来。由此,可绘出上图。

由图可得知,甲步行到终点的时间 和 车回头接乙再带乙到终点的时间 相等。就样例而言,车速是步行速度的5倍,故车走的路程是人走的路程的5倍,车比人多走了4倍。又车与人共同行走了s3​的路程,所以车比人多走的是2∗s2​,是人走的4倍,故s2​=2∗s3​. 故s2​是两份,s1​与s3​都是一份。

而总时间可以直接看车走的路程,是整条路的长度加上折回来又折回去的路程,即(1+2+1)+2∗2=8(1+2+1)+2∗2=8份。

#include<bits/stdc++.h>
using namespace std;
int main(){double s,a,b;scanf("%lf %lf %lf",&s,&a,&b);double ans;ans=(2*a*s)/(3*a+b);printf("%.6lf",ans/a+(s-ans)/b);return 0;
}

二分的方法就留给明日了

这篇关于2.16C语言学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716090

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整