2024.7.15 csp-j第一场模拟赛赛后总结

news2024/11/13 18:54:46

题目:

T1:P1211 [USACO1.3] 牛式 Prime Cryptarithmicon-default.png?t=N7T8https://www.luogu.com.cn/problem/P1211

T2:P2035 [USACO08JAN] iCow Bicon-default.png?t=N7T8https://www.luogu.com.cn/problem/P2035

T3:P6207 [USACO06OCT] Cows on Skates Gicon-default.png?t=N7T8https://www.luogu.com.cn/problem/P6207

T4:P2903 [USACO08MAR] The Loathesome Hay Baler Sicon-default.png?t=N7T8https://www.luogu.com.cn/problem/P2903

T1 :题目分析:

        模拟三位数和两位数,判断个个位置上的数是否在序列里出现。计算两个部分的乘积得到s1,s2;将两位数和三位数相乘得到s3,同样判断这三个数是否满足各自位数要求(s1,s2三位数,s3四位数)和各个数字都由序列中的数组成。如果都满足,答案++。最后输出答案。

        代码:

#include <bits/stdc++.h>
using namespace std;
bool p[15];
bool f(int n) { 
	while(n) {
		if(p[n%10]==0)
			return 0;
		n/=10;
	}
	return 1;
}
bool check(int x,int y) {
	int a=x*(y%10),b=x*(y/10),test=x*y;
	if(a>999 || b>999 || test>9999)
		return 0;
	if(f(x)==1 && f(y)==1 && f(a)==1 && f(b)==1 && f(test)==1)
		return 1;
	else
		return 0;
}
int main() {
	int n,key,ans=0;
	cin>>n;
	for(int i=0; i<n; i++) {
		cin>>key;
		p[key]=true;
	}
	for(int i=100; i<1000; i++) {
		for(int j=10; j<100; j++) { 
			if(check(i,j)==1)
				ans++;
		}
	}
	cout<<ans<<endl;
	return 0;
}

错因:未读懂题意导致判断条件不全。

T2:题目分析:重复执行T次,每次打擂台选出最大值。然后将其值平均分给其余n-1首曲子,它本身的权值清零。如果一首曲子的权值无法被平均分配(也就是说,无法被 N−1 整除),那么被除的余数部分将会以 1 为单位,顺次分配给排名靠前的曲子(也就是说,顺序为曲目 1 、曲目 2⋯ 依次下去。当然,刚播放过的那首曲子需要被跳过),直到多出的部分被分配完。

按照题目要求模拟即可。

#include<bits/stdc++.h>
using namespace std;
int n,t,a[1005],sum;
int main() {
	int i;
	cin>> n;
	cin>> t;
	for(i=1; i<=n; i++) {
		scanf("%d",&a[i]);
	}
	while(t--) {
		int mx=0,j=1;
		for(i=1; i<=n; i++) {
			if(a[i]>mx) {
				mx=a[i];
				j=i;
			}
		}
		sum=a[j]/(n-1);
		cout<< j<<endl;
		for(i=1; i<=n; i++) {
			if(i!=j)a[i]+=sum;
		}
		if(a[j]%(n-1)!=0) {
			sum=a[j]%(n-1);
			for(i=1; i<=n&&sum; i++) {
				if(i!=j) {
					a[i]++;
					sum--;
				}
			}
		}
		a[j]=0;
	}
	return 0;
}

错因:最后未平均分部分分配过程有误。

T3  运用深搜求路径,“*”不可走,“.”可走。用一个数组将沿途可行进的下标存储。到达后统一输出。搜索过程中,边界条件和结束条件和之前相同。

#include<bits/stdc++.h>
using namespace std;
int r,c,num=1,k[10000][2],vis[120][80];
char a[120][80];
int dx[4]= {1,0,-1,0};
int dy[4]= {0,1,0,-1}; 
void print() {
	for(int i=1; i<=num; i++)
		cout<<k[i][0]<<" "<<k[i][1]<<endl;
}
void dfs(int x,int y) {
	if(x==r&&y==c) {
		print();
	return ;
	}
	for(int i=0; i<4; i++) {
		int nx=x+dx[i],ny=y+dy[i];
		if(!vis[nx][ny]&&nx>0&&nx<=r&&ny>0&&ny<=c&&a[nx][ny]=='.') {
			vis[nx][ny]=1;
			num++;
			k[num][0]=nx;
			k[num][1]=ny;
			dfs(nx,ny);
			num--;
		}
	}
}
int main() {
	cin>>r>>c;
	for(int i=1; i<=r; i++)
		for(int j=1; j<=c; j++)
			cin>>a[i][j];
	vis[1][1]=1;
	k[1][0]=1;
	k[1][1]=1;
	dfs(1,1);
	return 0;
}

错因:未想到使用数组存储。

T4:先判断每个齿轮能连接的齿轮然后bfs

代码借鉴(自题解)

#include<bits/sydc++.h>
using namespace std;
int n,fx,fy,x[1055],y[1055],r[1055],sNo,fNo,Map[1055][1055],num[1055];
bool vis[1055];
struct Node {
	int No;
	double v,sum;
};
queue<struct Node> que;
void judge() {
	for(int i=1; i<=n; i++) {
		for(int j=i+1; j<=n; j++) {
			int dis=0;
			double dist;
			dis+=(x[i]-x[j])*(x[i]-x[j]);
			dis+=(y[i]-y[j])*(y[i]-y[j]);
			dist=sqrt(dis);
			if(r[i]+r[j]>=dist) {
				num[i]++;
				num[j]++;
				Map[i][num[i]]=j;
				Map[j][num[j]]=i;
			}
		}
	}
}
void bfs() {
	struct Node now;
	now.No=sNo,now.v=10000,now.sum=10000;
	que.push(now);
	vis[sNo]=true;
	while(!que.empty()) {
		struct Node now;
		now=que.front();
		que.pop();
		if(now.No==fNo) {
			cout<<(int)now.sum;
			return;
		}
		for(int i=1; i<=num[now.No]; i++) {
			if(vis[Map[now.No][i]]) continue;
			struct Node next;
			next.No=Map[now.No][i];
			next.v=now.v*r[now.No]/r[Map[now.No][i]];
			next.sum=now.sum+next.v;
			que.push(next);
			vis[Map[now.No][i]]=true;
		}
	}
}

int main() {
	cin>>n>>fx>>fy;
	for(int i=1; i<=n; i++) {
		cin>>x[i]>>y[i]>>r[i];
		if(!x[i]&&!y[i]) sNo=i;
		if(x[i]==fx&&y[i]==fy) fNo=i;
	}
	judge();
	bfs();
	return 0;
}

错因:不会

考试总结:本次考试非常糟糕。由于经验不足等原因造成了这次结果。下次努力!!

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

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

相关文章

CUDA cuDNN和pytorch(GPU版)的完整安装教程

​ * 说明: 本教程使用wsl-ubuntu20.04, 其他发行版linux的命令可能有所区别. *实测机型: i5-13500HX | RTX 4060 Laptop 一、下载CUDA12.X版本 这里以下载CUDA12.2为例。 前往cuda-12.2下载页, 按照如图方式选择合适的选项&#xff1a; 按照官方给出的命令&#xff0c; 在b…

《昇思25天学习打卡营第22天|基于MindSpore的GPT2文本摘要》

#学习打卡第22天# 1. 数据集 1.1 数据下载 使用nlpcc2017摘要数据&#xff0c;内容为新闻正文及其摘要&#xff0c;总计50000个样本。 from mindnlp.utils import http_get from mindspore.dataset import TextFileDataset# download dataset url https://download.mindspor…

leetcode-349.两个数组的交集

题源 349.两个数组的交集 题目描述 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2] 示例…

深度解读昇腾CANN模型下沉技术,提升模型调度性能

AI模型的运行通常情况下需要CPU和NPU&#xff08;昇腾AI处理器&#xff09;等AI专用处理器协同工作&#xff0c;CPU所在位置称为主机端&#xff08;Host&#xff09;&#xff0c;而NPU所在位置称为设备端&#xff08;Device&#xff09;。对于采用Host调度的AI模型来说&#xf…

金蝶云星空与金蝶云星空对接集成付款单查询打通[标准][付款单新增]-v1

金蝶云星空与金蝶云星空对接集成付款单查询打通[标准][付款单新增]-v1 对接源平台:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上&#xff0c;提供了标准的管理模式&#xff1b;通过标准的业务架构&#xff1a;多会计准则、多币别、多地点、多组织、多税制应用…

vitest 单元测试应用与配置

vitest 应用与配置 一、简介 Vitest 旨在将自己定位为 Vite 项目的首选测试框架&#xff0c;即使对于不使用 Vite 的项目也是一个可靠的替代方案。它本身也兼容一些Jest的API用法。 二、安装vitest // npm npm install -D vitest // yarn yarn add -D vitest // pnpm pnpm …

CoT-SC论文速读

1.论文速读 本文提出了一个重要的Decoder策略为&#xff1a;“Self-Consistency”,并将其用在CoT的Prompt工作中。 该策略作用&#xff1a;让LLM在处理复杂问题时&#xff0c;让他尝试多个推理路径&#xff0c;每一个推理路径都是一次CoT&#xff08;Chain of Thought&#x…

构建实用的NLP应用程序:重塑人类与计算机的协同工作方式

文章目录 一、NLP技术的核心价值二、构建实用NLP应用程序的关键步骤三、NLP应用程序在协同工作中的创新应用《赠ChatGPT中文范例的自然语言处理入门书》编辑推荐内容简介作者简介精彩书评目录前言/序言获取方式 在数字化时代&#xff0c;自然语言处理&#xff08;NLP&#xff0…

哥德巴赫猜想c++

方法一 #include<bits/stdc.h> using namespace std; //定义函数&#xff0c;判断素数 bool sushu(int n){bool rtrue;//先假设是素数&#xff0c;即真//循环因子范围&#xff0c;找到一个因子就不是素数for(int i2;i<sqrt(n);i){//判断2~n的根号是否素数if(n%i0){//…

码住!热门且创新idea:GNN+强化学习!

如何提高学习效率、优化策略&#xff0c;并解决复杂的图结构相关问题&#xff1f;或许你可以考虑&#xff1a;GNN强化学习。 GNN结合强化学习是当前的热门创新方向&#xff0c;它通过利用GNN在图形数据上的强大表示能力与强化学习在决策制定中的优势&#xff0c;不仅能够有效处…

鸿蒙语言基础类库:【@ohos.uitest (UiTest)】 测试

UiTest UiTest提供模拟UI操作的能力&#xff0c;供开发者在测试场景使用&#xff0c;主要支持如点击、双击、长按、滑动等UI操作能力。 该模块提供以下功能&#xff1a; [By]&#xff1a;提供控件特征描述能力&#xff0c;用于控件筛选匹配查找。[UiComponent]&#xff1a;代…

中电金信:成功的智慧运营转型,重点是把握“一个基本点和两大主线”

“运营”是银行不可或缺的基础职能&#xff0c;负责产品的服务交付过程和业务的落地处理&#xff0c;解决商业模式下“怎么做”的问题。纵观全球领先银行的运营转型历程&#xff0c;已从传统分散运营逐步转向集中运营、共享运营&#xff0c;乃至价值创造。从国内银行运营转型发…

微信小程序毕业设计-青少年科普教学系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

基于SpringBoot协同过滤算法商品推荐系统(源码+lw+部署文档+讲解等)

前言&#xff1a; 博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBo…

C++面试问题

C基础 什么是野指针&#xff1f; 指向未分配或已释放内存的指针。比如未初始化、delete后未指向空、保存了局部变量的地址 怎么解决野指针问题&#xff1f; 使用智能指针释放后置空指针初始化避免返回局部变量的地址 C空类会创造那些函数&#xff1f; 默认构造析构函数拷…

【qt】TCP客户端如何断开连接?

disconnectFromHost() 来关闭套接字,断开连接. 当我们关闭窗口时,也需要断开连接. 需要重写关闭事件 如果当前的套接字状态是连接上的,我们就可以来断开连接. 运行结果:

空安全编程的典范:Java 8中的安全应用指南

文章目录 一、Base64 编码解码1.1 基本的编码和解码1.2 URL 和文件名安全的编码解码器1.3 MIME Base64编码和解码 二、Optional类三、Nashorn JavaScript 一、Base64 编码解码 1.1 基本的编码和解码 Base64 编码&#xff1a; 使用 Base64.getEncoder().encodeToString(origin…

vue3 快速入门 (一) : 环境配置与搭建

1. 本文环境 Vue版本 : 3.4.29Node.js版本 : v20.15.0系统 : Windows11 64位IDE : VsCode 2. 安装Node.Js 首先&#xff0c;我们需要安装Node.Js。Node.js提供了运行 JavaScript 代码的环境。并且Node.js 带来了 npm&#xff0c;它是JavaScript世界的包管理工具。开发vue时&…

苹果手机相册图片怎么转换成jpg而不会降低质量

在苹果设备的世界里&#xff0c;随着 iOS 11 的推出&#xff0c;苹果引入了一种新的图像格式 - 高效图像编码&#xff08;High Efficiency Image Format, HEIF&#xff09;。当用户在 iPhone 或 iPad 上拍摄照片时&#xff0c;默认情况下&#xff0c;这些设备会保存图片为 HEIC…