2024年西安交通大学程序设计校赛(ABCDEFO)

题目链接:https://vjudge.net/contest/630537#overview

文章目录

  • A题
    • 题意
    • 思路
    • 编程
  • B题
    • 题意
    • 思路
    • 编程
  • C题
    • 题意
    • 思路
    • 编程
  • D题
    • 题意
    • 思路
    • 编程
  • E题
    • 题意
    • 思路
    • 编程
  • F题
    • 题意
    • 思路
    • 编程
  • O题
    • 题意
    • 思路
    • 编程

写在前面:今天的训练赛出的题目偏简单,与XCPC的难度差别较大,但是我们这次打的也不是很好,卡在思维题卡了很久也没写出来,还需继续努力······


回归正题

A题

题意

输入a,b,c,d四个数,按题意输出。

思路

签到题,直接输出即可。

编程

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
using namespace std;
const int N=1e6+5;
int a[N];
void solve(){int a,b,c,d;cin >> a >> b >> c >> d;cout << a+b+2*c+3*d << endl; return ;
}
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;//cin >> t;while(t--) solve();return 0;
}

B题

题意

给定起始坐标x,y,在给出它转动的时间和圈数,求这个点转动后和起始坐标点位移。

思路

数学思维,求出起始坐标转动的角度,然后套用数学公式即可

编程

#include<bits/stdc++.h>
//#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
#define PI 3.1415926535
using namespace std;
const int N=1e6+5;
int a[N];
void solve(){double x,y,t,v;cin >> x >> y >> t >> v;double r=sqrt(x*x+y*y);double q=t*v-int(t*v);q=q*360;if(q>180){q=360-q;}q=q*PI/180;printf("%.10f",sqrt(2*r*r-2*r*r*cos(q)));return ;
}
signed main(){//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;//cin >> t;while(t--) solve();return 0;
}

C题

题意

给你两个整数x,y代表纵向坐标,将它转化为平面坐标

思路

套题目给的公式即可

编程

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
#define PI 3.1415926
using namespace std;
const int N=1e6+5;
int a[N];
void solve(){double x,y;cin >> x >> y;double a=x/2+y/2,b=x/2*pow(3,0.5)-y/2*pow(3,0.5);printf("%.6f %.6f",a,b);return ;
}
signed main(){//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;//cin >> t;while(t--) solve();return 0;
}

D题

题意

一共n个人,请找出一条链接图连接这n个数,且影的力量必须大于等于0

思路

考虑最基础的情况:将所有结点构造成一条链,由于支配关系是可传递的,而且只需要保证影的力量非负,构造一条链即可

  • 我们有两种支配的方法
  • 第一种,1 是总支配者,其余每人都支配他后面一个人,也就是每个人支配他后面的所有人。
  • 第二种,n 是总支配者,其余每人都支配他前面一个人,也就是每个人支配他前面的所有人。
  • 对于每次输入的x,y,如果x>=y,我们让sum++,反之sum–,若sum大于等于0,选择方案一,反之选择方案二

编程

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
using namespace std;
const int N=1e5+5;
void solve(){int n,m;cin >> n >> m;int sum=0;for(int i=1;i<=m;++i){int x,y;cin >> x >> y;if(x>=y) sum++;else sum--;}if(sum>=0){for(int i=1;i<n;++i){cout << i+1 << " ";//前面支配后面}cout << 0;}else{cout << 0 << " ";for(int i=2;i<=n;++i){//后面支配前面cout << i-1 << " ";}}return ;
}
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;//cin >> t;while(t--) solve();return 0;
}

E题

题意

给出n个数的序列ai,要求还原所有楼的大小关系,按照楼层的高低,进行升序排序。

思路

从0进行入手,0是代表当前序列的前面所有序列都比当前序列高,那么我们可以倒着遍历这个序列,当遇到0的时候直接输出该下标,若遍历的数不是0,那么就将该下标存入到ai的序列里面,跟在ai的后面输出即可

编程

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
using namespace std;
const int N=2e5+5;
vector<int> a;
vector<int> b[N];
void solve(){int n;cin >> n;a.resize(n+1);	for(int i=1;i<=n;++i){cin >> a[i];b[i].push_back(i);//先存入当前下标}for(int i=n;i>=1;--i){if(a[i]==0){//遇到0直接输出b[i]数组里面所有的数for(auto j : b[i]){cout << j << " ";}}else{for(auto j : b[i]){b[a[i]].push_back(j);	//将当前下标存入的所有数存入到b[a[i]]里面}}}return ;
}
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;//cin >> t;while(t--) solve();return 0;
}

F题

题意

给出n个数的序列ai,若ai相同则为同一个骑士团,求每两个骑士团所获得的最大收益

思路

将每个骑士团的值进行相加,然后将两个骑士团相加完后的值相乘即可

编程

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
using namespace std;
const int N=1e6+5;
map<int,int> mp;
void solve(){int n,m;	cin >> n >> m;for(int i=1;i<=n;++i){int x;cin >> x;mp[x]+=i;}while(m--){int a,b;int ans=0;cin >> a >> b;ans+=mp[a]*mp[b];cout << ans << endl;}	return ;
}
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;//cin >> t;while(t--) solve();return 0;
}

O题

题意

在这里插入图片描述

思路

找规律,最终找到的规律为n*n,直接输出即可

编程

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
using namespace std;
const int N=1e6+5;
int a[N];
void solve(){int n;cin>>n;cout<<n*n;return ;
}
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t=1;//cin >> t;while(t--) solve();return 0;
}

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

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

相关文章

C语言-----指针数组 \ 数组指针

一 指针数组 用来存放指针的数组 int arr[10]; //整型数组 char ch[5]; //字符数组 int * arr[6]; //存放整型指针的数组 char * arr[5]; //存放字符指针的数组 // 指针数组的应用 int main() {int arr1[] { 1,2,3,4,5 };int arr2[] { 2,3,4,5,6 };int arr3[] { 3,4,…

滴滴一季度营收同比增长14.9%至491亿元 经调整EBITA盈利9亿元

【头部财经】5月29日&#xff0c;滴滴在其官网发布2024年一季度业绩报告。一季度滴滴实现总收入491亿元&#xff0c;同比增长14.9%&#xff1b;经调整EBITA&#xff08;非公认会计准则口径&#xff09;盈利9亿元。其中&#xff0c;中国出行一季度实现收入445亿元&#xff0c;同…

第一课、Power BI 集成Python

1&#xff0c;下载安装python Python软件地址&#xff1a;Welcome to Python.org 双击自定义安装指定位置并勾选配置环境变量。 后续一直往下&#xff0c;安装完成。 检验是否成功&#xff0c;在cmd命令窗口下输入python 即可看到版本。 安装 pip install pandas 和 pip…

深入解析 JSONPath:从入门到精通

码到三十五 &#xff1a; 个人主页 在数据处理和交换领域&#xff0c;JSON已经成为了一种广泛使用的数据格式&#xff0c; 如何有效地查询和操作这些数据也变得越来越重要。在这种情况下&#xff0c;JSONPath 应运而生&#xff0c;成为了一种在JSON数据中定位和提取信息的强大工…

nginx学习记录-防盗链

1. 防盗链的概念 防盗链&#xff0c;顾名思义就是防止盗取链接&#xff0c;这里的链接一般是资源链接。 如图所示&#xff0c;我们访问一个网站时&#xff08;比如百度&#xff09;&#xff0c;我们第一个请求会获得一个html页面&#xff0c;页面中包含各种资源链接&#xff0…

产品经理-原型绘制(五)

1. 概念 用线条、图形描绘出的产品框架&#xff0c;也称为线框图&#xff0c;是需求和功能的具体化表现 2. 常用工具 Axure 3. 类别 3.1 草图原型 手绘图稿&#xff0c;修改方便&#xff0c;规划的早期使用 3.2 低保真原型 简单交互&#xff0c;无设计图&#xff0c;无需…

SOLIDWORKS正版软件购买指南

在这个数字化的时代,SOLIDWORKS作为一种卓悦的三维计算机辅助设计&#xff08;CAD&#xff09;工具&#xff0c;赢得了众多设计师和工程领域专家的喜爱。为了帮大家更加快捷方便地掌握这一知名设计工具&#xff0c;本文写了更全面的SOLIDWORKS选购指导&#xff0c;向大家披露选…

【Python】解决Python报错:SyntaxError: invalid character in identifier

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

[Linux系统编程] 静态库与动态库

一.库的概念 库是写好的现有的&#xff0c;成熟的&#xff0c;可以复用的代码。 本质上来说库是一种可执行代码的二进制形式&#xff0c;可以被操作系统载入内存执行。库有两种&#xff1a;静态库&#xff08;.a、.lib&#xff09;和动态库&#xff08;.so、.dll&#xff09;。…

继承--5.29

继承格式&#xff1a; package javatest2;public class people {int age;double workday;public people(int age, double workday) {this.age age;this.workday workday;} }package javatest2;public class student extends people {int studyday;public student(int age, d…

Prompt工程与实践

Prompt工程与实践 一、Prompt与大模型 1.1 大模型的定义 大模型本质上就是一个概率生成模型&#xff0c;该模型的模型参数足够大&#xff0c;并且在训练过程中阅读了非常多的各个领域的语料。这个时候&#xff0c;如果通过一个正确的、有效的指令去引导这个模型&#xff0c;…

【Python Cookbook】S01E03 找到最大最小的N个元素

目录 问题解决方案讨论 问题 如何在一个集合中找到最大或最小的 N 个元素&#xff1f; 解决方案 使用 heapq 模块。 pip install heapqheapq 模块中&#xff0c;有 nlargest() 以及 nsmallest() 两个函数&#xff1a; import heapqnums [1, 8, 23, 2, 7, -4, 8, 18, 42, …

小阿轩yx-Shell编程之正则表达式与文本处理器

小阿轩yx-Shell编程之正则表达式与文本处理器 正则表达式 &#xff08;RegularExpression&#xff0c;RE&#xff09; 正则表达式概述 正则表达式的定义 又称 正规表达式常规表达式 代码中常简写为 regex、regexp 或 RE 正则表达式 使用单个字符串来描述、匹配一系列符…

C++笔试强训day36

目录 1.提取不重复的整数 2.【模板】哈夫曼编码 3.abb 1.提取不重复的整数 链接https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1?tpId37&tqId21232&ru/exam/oj 按照题意模拟就行&#xff0c;记得从右往左遍历 #include <iostream> usi…

GPT-4O神器来袭!自动生成Figma设计稿,移动端开发瞬间加速!

2024年5月29日- 近日&#xff0c;一款基于GPT-4O技术的创新工具成功实现根据产品需求文档&#xff08;PRD&#xff09;自动生成Figma设计稿的功能&#xff0c;为移动端应用开发者带来革命性的便捷。据悉&#xff0c;该功能主要针对移动端应用进行优化&#xff0c;并支持使用高质…

【环境配置】windows的磁盘分区、VMware下的ubuntu20的安装、虚拟机系统界面过小的处理

这段时间在折腾自己的笔记本&#xff0c;刚好也有同学新买台式机咨询安装VMware软件&#xff0c;就顺便记录下windows的环境的一些操作。方便自己需要时查阅。 1 windows磁盘分区 在Windows系统中&#xff0c;磁盘分区和管理可以通过【磁盘管理】工具进行。要打开磁盘管理&…

系统架构设计师【第2章】: 计算机系统基础知识 (核心总结)

文章目录 2.1 计算机系统概述2.2 计算机硬件2.2.1 计算机硬件组成2.2.2 处理器2.2.3 存储器2.2.4 总线2.2.5 接口2.2.6 外部设备 2.3 计算机软件2.3.1 计算机软件概述2.3.2 操作系统2.3.3 数据库2.3.4 文件系统2.3.5 网络协议2.3.6 中间件2.3.7 软件构件2.3.8 …

安卓开发板_开发评估套件_4G/5G联发科MTK安卓主板定制开发

安卓开发板采用了联发科八核A53 CPU&#xff0c;主频2.0GHz&#xff0c;采用12nm制程工艺&#xff0c;拥有强大的通用计算性能。配备GE8300 GPU&#xff0c;支持1080P视频编码和H.264硬解码&#xff0c;能够解析目前流行的视频和图片格式&#xff0c;非常适合各种功能APP的测试…

网络工程基础 不同网段下的设备实现通信

交换机可以实现同一个网段下的不同设备直接通信 路由器可以实现不同的网段下的设备进行通信 路由器查看路由表命令 display ip routing-table 华为路由器配置静态路由命令&#xff1a; ip route-static 目的网络地址 子网掩码 下一跳地址 电脑判断不同网段的ip会把请求转给网…

SOL 交易机器人基本知识

有没有可以盈利的机器人&#xff1f; 是的&#xff0c;各行各业都有许多盈利机器人。在金融领域&#xff0c;交易机器人被广泛用于自动化投资策略并根据预定义的算法执行交易。这些机器人可以分析市场趋势并做出快速决策&#xff0c;从而可能带来可观的回报。同样&#xff0c;在…