北京大学2015计算机学科夏令营上机考试

news2024/11/24 18:41:07

目录

A:整数的个数

B:过滤多余的空格

C:二维数组右上左下遍历

D 合影效果

E:Simple prefix compression【做不起】

F:To Europe! To Europe!【做不起】

G:The Game【做不起】

H:Falling Leaves


A:整数的个数

#include<iostream>
using namespace std;
int main(){
	int k,a;
	cin>>k;
	int sum1=0,sum2=0,sum3=0;
	for(int i=0;i<k;i++){
		cin>>a;
		if(a==1) sum1++;
		if(a==5) sum2++;
		if(a==10) sum3++;
	}
	cout<<sum1<<endl<<sum2<<endl<<sum3;
	return 0;
}

B:过滤多余的空格

这个题一直卡bug在输出,如果用j<strlen[j]

需要memset(b,0,sizeof(b))   因为有脏数据!!!

或者要不就直接j<num好了 注意这里!!每次都会忽略这个方法然后做麻烦

//http://bailian.openjudge.cn/xly2015/B/
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

int main(){
	char a[200],b[200];
	int num=0;
	fgets(a,200,stdin);
	int len=strlen(a);
	for(int i=0;i<len;i++){
		if(a[i]!=' '&&a[i+1]!=' ') b[num++]=a[i];
		if(a[i]!=' '&&a[i+1]==' ') {
			b[num++]=a[i];
			b[num++]=a[i+1];
		}
		if(a[i]==' '&&a[i+1]==' ') continue;
		if(a[i]==' '&&a[i+1]!=' ') continue;
	}
//	cout<<b;
	for(int j=0;j<num-1;j++) cout<<b[j];
//	cout<<a;
	return 0;
}

C:二维数组右上左下遍历

这个题就是一条对角线上的行列坐标的和是相同的

//http://bailian.openjudge.cn/xly2015/C/
//0,0 0,1 1,0 0,2
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main(){
    int a[105][105], row, col;
    cin >> row >> col;
    for(int i = 0; i < row; ++i)
        for(int j = 0; j < col; ++j)
            cin >> a[i][j];
    for(int k = 0; k <= row+col-2; ++k)//行列加和从0~row+col-2 
    {
        for(int i = 0; i < row; ++i)//遍历矩阵 
            for(int j = col-1; j >= 0; --j)
            {
                if(i+j == k)//如果在行列加和为k的斜线上 
                    cout << a[i][j] << endl;
            }
    }
    return 0;
}

D 合影效果

//http://bailian.openjudge.cn/xly2015/D/
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>

using namespace std;

//bool cmp1(double a,double b){
//	if(a-b<1e-6)  return true;
//}
bool cmp2(double a,double b){
	if(a>b)  return true;
}


bool cmp(double a, double b) {
    //判断a、b到向上取整的数和向下取整的数的差,取最小的
	double x_a = a - (int)a;       //到向下取整的那个数的差
    double xx_a = abs(a - (int)a - 1); //到向上取整的差
    double s_a = min(x_a, xx_a);
	double x_b = b - (int)b;
    double xx_b = abs(b - (int)b - 1);
	double s_b = min(x_b, xx_b);
    
    if(fabs(s_a - s_b) < 1e-6){//差相等,按浮点数从小到大
        return a < b;
    }
    return s_a < s_b;
}

bool cmpDown(double a, double b)//降序 
{
    return a > b;
    //多层浮点数 return(a1>b1 || a1==b1&&a2>b2 || a1==b1&&a2==b2&&a3<b3) 
}
int main(void){
	double h1[40],h2[40];
	int n,i=0,j=0;cin>>n;
	char sex[7];
	while(n--){
		double h;
		cin>>sex>>h;
		if(strcmp(sex,"male")==0) h1[i++]=h;
		if(strcmp(sex,"female")==0) h2[j++]=h;
	}
	sort(h1,h1+i);
	sort(h2,h2+j,cmpDown);
	for(int m=0;m<i;m++) 
		printf("%.2f ",h1[m]);
//		cout<<h1[m]<<" ";
	for(int n=0;n<j-1;n++) 
		printf("%.2f ",h2[n]);
//		cout<<h2[n]<<" ";
	cout<<h2[i-1];
	return 0;
}

E:Simple prefix compression【做不起】

全网都搜不到

F:To Europe! To Europe!【做不起】

G:The Game【做不起】

H:Falling Leaves

#include <iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;

struct Node
{
	char data;
	Node *left;
	Node *right;
};
typedef struct Node* Tree;

string temp, str;

Tree Insert(Tree BST,char x)
{
	if(BST==NULL)
	{
		BST = (Tree)malloc(sizeof(Node));
		BST->data = x;
		BST->left=BST->right=NULL;
	}
	else{
		if(x<BST->data)//左节点 
		{
			BST->left = Insert(BST->left,x); 
		}
		else if(x>BST->data)//右节点
		{
			BST->right = Insert(BST->right,x); 
		} 
		//数据已存在的话就不插入 
	}
	return BST; 
}
Tree createBST(){  //建树
    Tree root = NULL;
    for(int i=0;i<str.length();i++)
    	root = Insert(root,str[i]);
    return root;    //返回根结点
}


void Print(Tree BST)
{
	if(BST!=NULL)
	{
		printf("%c",BST->data);
		Print(BST->left);
		Print(BST->right);
	}
}

int main(){
    while(cin >> temp){  //输入字符串
        if(temp != "*" && temp != "$"){
            //如果输入的字符串不是组结束符或结尾符
            str += temp;    //将出入的字符串加到str字符串尾部
            continue;
        }
        //如果输入的时组结束符或结尾符
        reverse(str.begin(),str.end()); //将str数组反转
        Tree bst = createBST();   //建树
        str = "";   //将str清空
        Print(bst); //输出前序遍历
        printf("\n");
        if(temp == "$")//如果是结尾符跳出循环
            break;
    }
    return 0;
}

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

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

相关文章

VSCode 免安装及中文设置

前言&#xff1a;VSCode作为目前最强大的文本编辑器&#xff0c;通过内部的插件市场可满足各种开发需求。使用免安装版可以自定义插件安装位置等&#xff0c;而使用安装包安装只能通过修改快捷方式自定义&#xff0c;十分不方便。因此这里分享如何安装免安装版的VSCode。 下载…

ETL是什么?怎样更快的学习ETL?

ETL是英文Extract-Transform-Load的缩写&#xff0c;用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程&#xff0c;它能够对各种分布的、异构的源数据(如关系数据)进行抽取&#xff0c;按照预先设计的规则将不完整数据、重复数据以及错误数据…

滤波后点云的个数和之前相同,只是有的点云坐标是nan

进行点云的条件滤波&#xff0c;滤波前后点云的个数不变&#xff0c;只是被滤掉的点坐标显示为nan。代码片段如下&#xff1a; pcl::ConditionAnd<pcl::PointXYZ>::Ptr range_cond(new pcl::ConditionAnd<pcl::PointXYZ>()); range_cond->addComparison(pcl::Fi…

李宏毅transformer讲解;B站内测“搜索AI助手”功能

&#x1f989; AI新闻 &#x1f680; B站内测“搜索AI助手”功能 摘要&#xff1a;据反馈&#xff0c;B站正在内测“搜索 AI 助手”功能。用户在搜索框内输入问句或在搜索词中添加“?”即可体验此新功能。截图显示&#xff0c;该功能会为用户的搜索提供一个生成的答案&#…

hcip作业二

实验要求&#xff1a; 要求&#xff1a;R1-R2-R3-R4-R5 RIP 100运行版本2&#xff1b;R6-R7 RIP 200 运行版本1 1.使用合理IP地址规划网络&#xff0c;各自创建环回接口 2.R1创建环回 172.16.1.1/24 172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环回 4.减少路由条目数量&…

盘点一个Python网络爬虫抓取股票代码问题(上篇)

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 去来江口守空船&#xff0c;绕船月明江水寒。 大家好&#xff0c;我是皮皮。 一、前言 前几天在Python白银群【厚德载物】问了一个Python网络爬虫的问题…

新手入门深度学习 | 3-2:激活函数activation

一、什么是激活函数 生物神经网络启发了人工神经网络(ANN)的发展。但是,人工神经网络并非大脑运作的近似表示。不过在我们了解为什么在人工神经网络中使用激活函数之前,先了解生物神经网络与激活函数的相关性是很有用处的。 典型神经元的物理结构包括细胞体(cell body)、…

软件的兼容性测试确保良好稳定运行的用户体验

在数字化时代&#xff0c;各种软件应用的开发和推广越来越普遍。然而&#xff0c;由于不同的操作系统、不同的设备配置和不同的软件版本&#xff0c;软件的兼容性成为了一个重要的问题&#xff0c;可以说软件的兼容性测试确保良好稳定运行的用户体验。 首先&#xff0c;软件的兼…

MySQL Optimization Learning(三)

一、通过索引进行优化 数据结构 Data Structure Visualizations 数据可视化效果展示 Binary Search Tree 插入数据可视化效果展示 AVL Tree Red/Black Tree --MYISAM存储引擎数据和引用分开存储 DROP TABLE IF EXISTS t_test; CREATE TABLE t_test (id int(11) NOT NULL,…

websocket 发送的消息超过默认限制就会自动断开连接

springboot集成websocket需要三步&#xff1a; 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>2.1.6.RELEASE</version></dependency>…

【GIT】Git常用命令学习

Git常用命令学习 说明&#xff1a;<>表示占位符的说明&#xff0c;[]表示可选&#xff0c;/表示“或” 仓库操作 初始化创建一个本地仓库 git init克隆远程仓库至本地 git clone <远程仓库地址> [仓库名称] #可以加上自定义仓库名称配置仓库 git config user.name…

Linux的动静态库

动静态库 1. 见一见动静态库2. 动静态库概念2.1 为什么要有动静态库2.2 定义 3. 写一写——库的设计角度打包成静态库打包成动态库 4. 用一用——使用者角度4.1 直接使用头文件和源文件&#xff08;直接给源代码&#xff09;4.2 得到头文件和源文件进过处理后形成的二进制文件.…

C++ - 20230703

一. 思维导图 二.练习 全局变量&#xff0c;int monster 10000;定义英雄类hero&#xff0c;受保护的属性string name&#xff0c;int hp,int attck&#xff1b;公有的无参构造&#xff0c;有参构造&#xff0c;虚成员函数 void Atk(){blood-0;}&#xff0c;法师类继承自英雄类…

SpringCloud:微服务技术

一、认识微服务&#xff1a; 首先&#xff0c;微服务架构不等于SpringCloud&#xff0c;微服务架构是一种经过良好架构设计的分布式架构方案&#xff0c; &#xff0c;它将应用构建成一系列按业务领域划分模块的&#xff0c;小的自治服务&#xff0c;并解决服务拆分所产生的各种…

css基础知识十五:如果要做优化,CSS提高性能的方法有哪些?

一、前言 每一个网页都离不开css&#xff0c;但是很多人又认为&#xff0c;css主要是用来完成页面布局的&#xff0c;像一些细节或者优化&#xff0c;就不需要怎么考虑&#xff0c;实际上这种想法是不正确的 作为页面渲染和内容展现的重要环节&#xff0c;css影响着用户对整个…

DL环境安装之GCC9,Python9与IDE连接远程环境:python notebook,解释器,C toolchain

文章目录 一.安装gcc91. 设置x86 centos7 yum源2. 编译安装 二、安装python3.91.前置依赖2. 编译安装3.建立软连接或环境变量 三、IDE连接远程环境1.IDE 远程notebook2.IDE 远程Python解释器3.远程toolchain &#xff08;后续可能有用&#xff09; 一.安装gcc9 系统自带的cc可…

2023亚马逊云科技中国峰会——Amazon DeepRacer

1.DeepRacer技术背景 早在20世纪初汽车问世之时&#xff0c;发明家们便已提出无人驾驶的设想。但即便是实现无人驾驶的初级阶段&#xff0c;也经历了足足百年时间。毕竟在复杂的城市路况下&#xff0c;机器若想像人一样实现感知、决策、控制等功能&#xff0c;必定面临各种复杂…

Simulink仿真模块 - Product

Product:标量和非标量的乘除运算或者矩阵的乘法和逆运算 库:Simulink / Commonly Used Blocks Simulink / Math Operations HDL Coder / Commonly Used Blocks HDL Coder / HDL Floating Point Operations HDL Coder / Math Operations 模型为: 双击模型打开参数设置界面为…

静电测试仪如何在生产中帮助我们

静电测试仪在生产中可以帮助我们进行静电防护和质量控制。以下是它在生产中的具体帮助&#xff1a; 1. 静电防护&#xff1a;静电测试仪可以用来测量物体表面的静电电荷&#xff0c;通过监测静电电荷的大小和分布情况&#xff0c;预防静电产生和积累&#xff0c;降低产品受到静…