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

news2024/11/15 13:31:31

 

目录

A:分段函数【水题】

B:单词翻转【暴力不水】

C:反反复复【字符串】

D:文件结构“图”【图】

E:Exchange Rates【这不是我能做的】

F:Dungeon Master【没看懂题目什么意思】

G:重建二叉树【树】


 

A:分段函数【水题】

#include<iostream>
using namespace std;
int main(){
	double N;
	cin>>N;
	if(N>=0&&N<5) printf("%.3f",2.5-N);
	if(N>=5&&N<10) printf("%.3f",2-1.5*(N-3)*(N-3));
	if(N>=10&&N<20) printf("%.3f",N/2-1.5);
	return 0;
}

希望全出这种题哈哈哈哈哈哈哈

B:单词翻转【暴力不水】

①fgets这个输入方式比较特殊

②正着输入,判断条件倒着输出

#include<iostream>
#include<string.h>
using namespace std;
int main(){
	char a[500],b[500];
	int i,j=0,t;
	fgets(a,500,stdin);
	for(i=0;a[i]!='\0'&&a[i]!='\n';i++){
		if(a[i]!=' '){
			b[j++]=a[i];
		}
		else{
			for(t=j-1;t>=0;t--){
				printf("%c",b[t]);
			}
			printf(" ");
			j=0;
		}
	}
	for(t=j-1;t>=0;t--){
		printf("%c",b[t]);
	}
	return 0;
}

C:反反复复【字符串】

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

const int maxn = 210;
char str[maxn];
char map[maxn][25];

int main(){

    int col;
    scanf("%d", &col); // 列
    scanf("%s", str);
    int len = strlen(str);
    int row = len / col; // 行
    int num = 0; // 字符记录数量
    for(int i=0; i<row; i++)
    {
        if(i%2 == 0)
        {
            for(int j=0; j<col; j++)
            {
                map[i][j] = str[num++];
            }
        }
        else 
        {
            for(int j=col-1; j>=0; j--)
            {
                map[i][j] = str[num++];
            }
        }
    }
    for(int j=0; j<col; j++)
    {
        for(int i=0; i<row; i++)
        {
            printf("%c", map[i][j]);
        }
    }
    fclose(stdin);

    return 0;
}

D:文件结构“图”【图】

#include <iostream>
#include <cstdio>
#include <queue>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

const int maxn = 30*30+100;
priority_queue<string, vector<string>, greater<string> > q[maxn]; 

int data_ = 1; // 测试集数量

void print_1()
{
    cout << "DATA SET " << data_ << ":" << endl << "ROOT" << endl; 
    data_ ++;
}

void print_2(int level)
{
    for(int i=0; i<level; i++)
    {
        cout << "|    ";
    }
}

int main()
{
    string s;
    cin >> s;
    while(s != "#")
    {
        print_1();
        int level = 0;
        while(s != "*")
        {
            if(s[0] == 'f')
            {
                q[level].push(s);
            }
            else if(s[0] == 'd')
            {
                level++;
                print_2(level);
                cout << s << endl;
            }
            else if(s[0] == ']')
            {
                while(!q[level].empty())
                {
                    print_2(level);
                    cout << q[level].top() << endl;
                    q[level].pop();
                }
                level--;
            }
            cin >> s;
        }
        while(!q[level].empty())
        {
            print_2(level);
            cout << q[level].top() << endl;
            q[level].pop();
        }
        cout << endl;
        cin >> s;
    }
    fclose(stdin);

    return 0;
}

E:Exchange Rates【这不是我能做的】

这不是我能做的

F:Dungeon Master【没看懂题目什么意思】

1253 没看懂题啥意思

G:重建二叉树【树】

#include<iostream>
#include<string.h>
using namespace std;
//http://bailian.openjudge.cn/practice/2255/
//每次根据前序中找到根节点,然后对中序左右分别处理直到空 
char a[10000],b[10000];
int len1,len2;
void f(int l,int l2,int r2){    //l1是前序左端点,l2,r2是中序左右端点
    if(l2==r2)return;  //子树为空 
    char k=a[l];//前序中的第一个值是根节点
    int rr;
    for(int i=l2;i<r2;i++){
    //从中序中找根节点,分出左右子树
        if(b[i]==k){
            rr=i;
            break;//rr左边是左子树,右边是右子树 
        }
    } 
    f(l+1,l2,rr);
    f(l+(rr-l2+1),rr+1,r2);
    cout<<k;
}
int main(){
    while(cin>>a>>b){
        len1=strlen(a);
        len2=strlen(b);
        f(0,0,len2);
        cout<<endl;
    }
} 

后面的都不是我能做的了

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

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

相关文章

如何自学入门网络安全/黑客?【建议收藏】

建议一&#xff1a;黑客七个等级 黑客&#xff0c;对很多人来说充满诱惑力。很多人可以发现这门领域如同任何一门领域&#xff0c;越深入越敬畏&#xff0c;知识如海洋&#xff0c;黑客也存在一些等级&#xff0c;参考知道创宇 CEO ic&#xff08;世界顶级黑客团队 0x557 成员…

零基础学会Python编程——不同的运算:算术、关系与逻辑(1)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 学习目标 一. 运算 1.算术运算 2.加法运算 3.减法运算 4.乘法运算 5.除法…

Redis从入门到精通【进阶篇】之消息传递发布订阅模式详解

文章目录 0. 前言1. 基本原理1.1 基于频道(Channel)的发布/订阅1.2 基于模式(Pattern)的发布/订阅 2. Redis 发布订阅实际应用2.1 Redis Sentinel2.1 SpringBoot Redis发布/订阅 3. Redis从入门到精通系列文章 0. 前言 发布订阅模式&#xff08;Publish-Subscribe Pattern&…

小而强大:通过容器化应用实现前端微服务

微服务架构是一种软件架构模式&#xff0c;用于构建复杂应用程序。它将一个大型的单体应用程序拆分为一组更小、更独立的服务&#xff0c;每个服务都运行在自己的进程中&#xff0c;并通过轻量级的通信机制进行交互。每个服务都专注于解决特定的业务功能或服务&#xff0c;并且…

Distractor-aware Siamese Networks for Visual Object Tracking(DaSiamRPN)

Distractor-aware Siamese Networks for Visual Object Tracking&#xff08;DaSiamRPN&#xff0c;ECCV2018&#xff09; 该论文针对以下三个问题&#xff0c;分别进行了改进&#xff1a; 常见的Siam类跟踪方法只能区分目标和无语义信息的背景&#xff08;即简单背景&#x…

MacBook(M1)上安装Ubuntu虚拟机

Mac&#xff08;M1&#xff09;上安装Ubuntu虚拟机 0.下载资料汇总 VMware Fusionhttps://www.vmware.com/products/fusion/fusion-evaluation.htmlubuntu-desktop-arm64.isohttps://cdimage.ubuntu.com/jammy/daily-live/current/ 1.安装VMware Mac版本的VMware叫 VMware …

SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks

SiamRPN: Evolution of Siamese Visual Tracking with Very Deep Networks&#xff08;CVPR2019&#xff09; 为什么2018年提出的SiamRPN网络还在用老式的AlexNet作为Siamese Network的特征提取网络呢&#xff1f;其实SiamRPN也尝试过用ResNet替代AlexNet&#xff0c;但发现效…

gitlab使用教程

一&#xff1a;账号管理 1、管理员添加 gitlab的用户分为管理员用户和普通用户&#xff0c;在界面上管理员会多了如下图所示的管理员区域&#xff0c;管理员拥有用户管理的功能&#xff0c;普通用户没有此功能。 通过管理员区域的用户-添加用户&#xff0c;根据提示填写必要…

JVM02-JVM即时编译器JIT

1-类编译加载执行过程 先了解下Java从编译到运行的整个过程 类编译&#xff1a;在编写好代码之后&#xff0c;我们需要将 .java文件编译成 .class文件&#xff0c;才能在虚拟机上正常运行代码。文件的编译通常是由JDK中自带的Javac工具完成&#xff0c;一个简单的 .java文件&a…

使用Flutter开发俄罗斯方块小游戏

一、本篇文章主要是来讲解下俄罗斯方块游戏的开发思路&#xff08;当然可能不是最好的思路&#xff09;&#xff0c;博客文章顶部有代码&#xff08;仅供参考&#xff09; 二、效果图 视频效果图地址 三、UI页面思路拆解 游戏的主界面两部分组成&#xff0c;上面为15*10的格…

Proxyman 替换js

在真机排查问题时&#xff0c;js不能格式化&#xff0c;导致没法看问题出在那一行&#xff0c;此时可以用这个方法替换js。 方法&#xff1a; 安装proxyman后&#xff0c;以iOS设备为例&#xff0c;菜单-证书-在iOS上安装证书 电脑、真机连接同一个网络&#xff0c;配置代理&…

SparkCore

Spark是一种快速、通用、可扩展的大数据分析引擎 Spark的特点 Speed&#xff1a;快速高效 性能比Hadoop MapReduce快100倍。即便是不将数据cache到内存中&#xff0c;其速度也是MapReduce10 倍以上。 Ease of Use&#xff1a;简洁易用 Spark支持 Java、Scala、Python和R等…

ctfshow—红包4

0x00 前言 CTF 加解密合集&#xff1a;CTF 加解密合集 0x01 题目 from secrets import randbelow from nationalsecret import p, r, k, flagg 2 y pow(g, k, p)def gogogo():print("Another chance:")t int(input(t ))c randbelow(p)print("Here is my…

关于anaconda的python虚拟环境

1.查看anaconda的虚拟环境 在cmd中输入 conda env list //查看conda中的虚拟环境和 activate 环境名称 //激活环境 pip list //查看该环境的包 python // 可以查看该环境python的版本 deactivate //退出环境2.使用anaconda创建新的…

Java Web HTMLCSS(2)23.6.30

2&#xff0c;CSS 2.1 概述 CSS 是一门语言&#xff0c;用于控制网页表现。我们之前介绍过W3C标准。W3C标准规定了网页是由以下组成&#xff1a; 结构&#xff1a;HTML表现&#xff1a;CSS行为&#xff1a;JavaScript CSS也有一个专业的名字&#xff1a;Cascading Style Sh…

如何在 macOS 上同时使用 Flutter2 和 Flutter3 进行 ios 开发

如何在 macOS 上同时使用 Flutter2 和 Flutter3 进行 ios 开发 前言 猫哥主打系统环境是: macos flutter 3.7.12 ruby 3.2.2 cocoapods 1.12.1 xcode 14.3.1 这套配置运行最新的项目没问题&#xff0c;但是最近需要维护 flutter 2.10.5 这种老项目&#xff0c;虽然用了 fvm 进…

武汉理工大学第四届ACM校赛(部分补题与写题)

开裂 目录 k-雇佣农民 题目描述 输入描述: 输出描述: 输入 输出 备注: 小e的苹果树 不降序列 k-雇佣农民 题目描述 Ly很喜欢星际争霸二这款游戏&#xff0c;但是他现在玩不到了。所以Ly现在只能做一个关于农民的题消磨时光。 开始时Ly没有任何农民&#xff0c;第i天白…

三、QPushButton的使用,信号和槽

QT从入门到实战学习笔记 一、QPushButton的创建二、中文要设置成UTF-8格式才不会乱码三、对象树1、验证被释放掉 四、QT窗口坐标系九、信号和槽---点击按钮关闭窗口1、查询signal信号的定义&#xff08;帮助文档&#xff09;2、搜索QWidget查找槽函数&#xff08;slot是槽的意思…

华为freebuds 5无线充电充不上电怎么办?

相信很多人都会遇到跟我一样的问题&#xff0c;华为FreeBuds 5无线充电充不进电是怎么回事&#xff1f;为此我专门整理了以下的经验&#xff0c;相信对大家有所帮助。 1. 充电时要把耳机盒保护套拆下来&#xff0c;耳机盒与充电底座之间不要有东西挡着。这样耳机盒充电时可以更…