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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】Linux基本指令2

我们接着上一篇&#xff1a;http://t.csdnimg.cn/bSJx8 我们接着完善ls指令 我们可以直接匹配对应格式的文件匹配出来 1.man指令&#xff08;重要&#xff09;&#xff1a; Linux的命令有很多参数&#xff0c;我们不可能全记住&#xff0c;我们可以通过查看联机手册获取帮助…

降价潮背后:中国产业大模型落地的卡点到底在哪?

“技术是不会以任何商业行为或者人们的意愿所改变它的上限和下限的&#xff0c;它需要的时间是恒定的。 ” 作者|思杭 编辑|皮爷 出品|产业家 如果说中国大模型市场最核心的话题是什么&#xff1f;降价则必然是其中之一。 从目前的参赛玩家来看&#xff0c;不论是字节豆…

在window中使用HTTP服务器获取kali的文件

文章目录 一、在window中使用HTTP服务器获取kali的文件1、疑问2、执行条件3、成功读取 一、在window中使用HTTP服务器获取kali的文件 1、疑问 有时候kali上面有的文件想传入window但是发现不允许这样操作那怎么办呢&#xff1f;特别是在一些限制工具的比赛中想把kali的文件传…

主播们直播时的美颜是如何实现的?集成第三方美颜SDK方案详解

很多人问小编&#xff0c;主播们直播时的美颜效果是如何实现的呢&#xff1f;接下来&#xff0c;我将为您详细介绍美颜功能的实现原理。 一、美颜功能的基本原理 通过对图像进行实时处理&#xff0c;达到美化人脸的效果。其主要技术包括&#xff1a; 1.人脸检测与关键点定位 …

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

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

vue3和vite实现vue-router4版本路由的配置以及自动生成路由配置

这个是普通的手动路由配置&#xff1a;https://blog.csdn.net/weixin_68658847/article/details/130071101 自动路由配置 创建项目 npm create vitelatest my-vue-app -- --template vue // 或者 yarn create vite my-vue-app --template vue// 安装路由 yarn add vue-route…

备受推崇的公司文件加密文件推荐榜单

迄今为止&#xff0c;加密依然是最有效的用于保护数据、通讯安全的手段之一 在数字化时代&#xff0c;文件加密软件成为了保护个人和企业数据安全的重要工具。随着技术的不断进步&#xff0c;市场上涌现出了众多优秀的文件加密软件。 以下十款文件加密软件因其出色的性能、易…

生成随机数值与二维数组的探索之旅

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、随机数生成的策略 三、实现过程与代码案例 四、注意事项与扩展讨论 一、引言…

系统架构设计师【第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 …

【车载开发系列】Autosar DEM中重要配置项说明

【车载开发系列】Autosar DEM中重要配置项目 【车载开发系列】Autosar DEM中重要配置项目说明 【车载开发系列】Autosar DEM中重要配置项目1&#xff09;DemDtcStatusAvailabilityMask2&#xff09;DemTypeOfDTCSupported3&#xff09;DemFreezeFrameCapture4&#xff09;DemIm…

如何在phpMy管理对Joomla后台的登录密码进行重置

本周有一个客户&#xff0c;购买Hostease的虚拟主机&#xff0c;询问我们的在线客服&#xff0c;如何在phpMy管理对Joomla后台的登录密码进行重置&#xff1f;我们为用户提供相关教程&#xff0c;用户很快解决了遇到的问题。在此&#xff0c;我们分享这个操作教程&#xff0c;希…

给想玩AIGC的小白:教你从0搭一个图文视频生成网站(附插件源码)

Stable Diffusion的发布是AI图像生成发展过程中的一个里程碑&#xff0c;相当于给大众提供了一个可用的高性能模型&#xff0c;让「AI 文本图片生成」变成普通人也能玩转的技术。最近一些网友将网上的真人图片不断喂给模型&#xff0c;让其自主学习&#xff0c;训练出来的效果已…

透视AI技术:探索折射技术在去衣应用中的奥秘

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;其在图像处理和计算机视觉领域的应用日益广泛。其中&#xff0c;AI去衣技术作为一种颇具争议的应用&#xff0c;引发了广泛的讨论和关注。本文将深入探讨折射技术在AI去衣中的应用及其背后的原理。 一、AI去衣技术简介…

小红书引流获客软件,轻松成为爆款达人

在这个信息爆炸的时代&#xff0c;小红书凭借其独特的内容分享社区模式&#xff0c;迅速成为了品牌和个体创业者不可忽视的营销宝地。作为一个集生活方式分享、购物心得、美妆教程、旅行攻略等于一身的平台&#xff0c;小红书聚集了大量追求品质生活的年轻用户群体。对于想要在…

【传知代码】知识图谱推理-论文复现

文章目录 概述方法介绍核心逻辑实验条件数据集实验步骤实验结果 核心代码小结 本文涉及的源码可从知识图谱推理该文章下方附件获取 概述 本研究深入探讨了基于图神经网络&#xff08;GNN&#xff09;的知识图谱推理&#xff0c;特别聚焦于传播路径的优化与应用。在智能问答、推…

【条形码code39】基础知识

条形码-39码&#xff08;code39&#xff09; 符号集。(共43个字符)包括 数字0 ~ 9,大写字母A~Z,空格,-,。,$,/,,% Extended Code39&#xff0c;支持全部ASCII字符。 完整的code39条形码&#xff1a;起始字符&#xff08; * &#xff09; 数据数值 &#xff08;可选的&#…

XXL-JOB分布式任务调度框架详解(全网最详细!!!)

​​​​​​​ 引言 第一部分&#xff1a;XXL-JOB概述 第二部分&#xff1a;架构与组件 第三部分&#xff1a;使用教程 第四部分&#xff1a;源码分析 第五部分&#xff1a;最佳实践 引言 在分布式系统中&#xff0c;任务调度是一项基础而又关键的服务&#xff0c;它涉…

失落的方舟 命运方舟台服怎么下载游戏客户端 游戏账号怎么注册

《失落的方舟》&#xff08;Lost Ark&#xff09;是韩国Smilegate公司精心打造的一款大型多人在线角色扮演游戏&#xff08;MMORPG&#xff09;&#xff0c;以其精美的画面、沉浸式的剧情、类似动作游戏的战斗体验和广阔的开放世界设定&#xff0c;自面世以来便深受全球玩家喜爱…

yq—2024/5/29—零钱兑换

代码实现&#xff1a; #define min(a, b) ((a) > (b) ? (b) : (a))int coinChange(int *coins, int coinsSize, int amount) {int dp[amount 1];// 初始化for (int i 0; i < amount 1; i) {dp[i] INT32_MAX;}dp[0] 0;// 01背包 -----先遍历物品&#xff0c;再遍历背…

cesium绘制编辑区域

npm 安装也是可以的 #默认安装最新的 yarn add cesium#卸载插件 yarn remove cesium#安装指定版本的 yarn add cesium1.96.0#安装指定版本到测试环境 yarn add cesium1.96.0 -D yarn install turf/turf <template><div id"cesiumContainer"></div…