AI智工作室11.19练习题解

news2025/1/15 23:22:38

F CodeForces - 710A 

 训练1(共12题) - Virtual Judge

 我的代码

#include<iostream>
using namespace std;
int main()
{
	char arr[10][10],a;
	int b,c,k=0;
	cin>>a>>c; b=a-'a'+1;
//	cout<<b<<" "<<c<<endl; 
	for(int i=0;i<=9;i++)
	{
		for(int j=0;j<=9;j++) 
		{
			arr[i][j]='0';
		}
	}
		for(int i=1;i<=8;i++)
	{
		for(int j=1;j<=8;j++) 
		{
			arr[i][j]='*';
		}
	}
/*	for(int i=0;i<=9;i++)
	{
		for(int j=0;j<=9;j++) 
		{
			cout<<arr[i][j];
		}
		cout<<endl;
	}*/
	 
	
	if(arr[b-1][c+1]=='*') k++;
	if(arr[b][c+1]=='*') k++;
	if(arr[b][c-1]=='*') k++;
	if(arr[b+1][c]=='*') k++;
	if(arr[b-1][c]=='*') k++;
	if(arr[b+1][c+1]=='*') k++;
	if(arr[b+1][c-1]=='*') k++;
	if(arr[b-1][c-1]=='*') k++;
	cout<<k<<endl;
	
	
}

 陈杨的

#include<stdio.h>
int main(){
	char c;
	int d;
	int val=0;
	scanf("%c",&c);
	scanf("%d",&d);
	if(c=='a'||c=='h'){
		val+=1;
	}
	if(d==1||d==8){
		val+=1;
	}
	if(val==0){
		printf("8");
	}
	if(val==1){
		printf("5");
	}
	if(val==2){
		printf("3");
	}
	return 0;
}//不在棋盘边上点 输出都是8;
//边上的点 除了四个角都是8-3
//四个角的点8-3-2
//坐标(x,y)里含a、h、1、8都不是中间的点 ,含一个是边上的点,含两个是四角的点 

G CodeForces - 1257A 

#include<iostream>
using namespace std;
#include<bits/stdc++.h>
int main()
{
	int k,n,x,a,b,j=0;
	cin>>k;
	while(k--)
	{
		cin>>n>>x>>a>>b;
		j=abs(a-b);
		
		 if(x==0) cout<<j<<endl;
		else if(j==n-1)
		{cout<<n-1<<endl;
		continue;
		}
		else 
		{
			if((j+x)<n-1)
			cout<<j+x<<endl;
			else cout<<n-1<<endl;
		}
		
		 
	}
}

 陈杨的

#include<stdio.h>
#include<math.h>
int main(){
	int t;
	int n,x,a,b;
	int dist;
	scanf("%d",&t);
	while(t--){
		scanf("%d%d%d%d",&n,&x,&a,&b);
		dist=abs(a-b);
		dist+=x;
		if(dist>n-1){
			dist=n-1;
		}
		printf("%d\n",dist);
	}
	
} 
//每次交换操作 位置能加一或减一
//题干里的原话是“你能交换的次数”,可以理解为如果达到最远的距离就可以停止操作 
//一个if判断就能得出答案了,也就是判断一下操作x次+1后是不是两个人到达队伍两端 

 H CodeForces - 988A 

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,k,a[9999]={0},b[9999],ai,j=0;
	cin>>n>>k; 
	for(int i=0;i<n;i++) 
	{
		cin>>ai;
		if(a[ai]==0) 
		{
		a[ai]=1;b[j++]=i; 
		}
		
	}
	if(j<k)cout<<"NO"<<endl;
	else 
	{
		cout<<"YES"<<endl;
		for(int i=0;i<k;i++) 
		{
			if(i==j-1)
			{
			cout<<b[i]+1<<" ";	return 0;
			}
			else
			{
			cout<<b[i]+1<<" ";	
			}
			
		}
	}
	
} 
 			 			  	  	 			 			 	  	 		

 陈杨的

#include<stdio.h>
int b[101]={0};
int a[101];
int j=1;
int n=0;
int k=0;
int s=0;
int temp=0;
int main(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++){
		scanf("%d",&temp);
		if(b[temp]==0){
			b[temp]+=i;
			s++;
		}
	}
	if(s<k){
		printf("NO\n");
		
	}else{
		int cnt=0;
		printf("YES\n");
		for(int i=1;i<=100&&k;i++){
			
			if(b[i]!=0){
			printf("%d ",b[i]);	
			cnt++;
			if(cnt==k)return 0;
			}
			
		}
    
	}
} 
//可以将题目概括为:输入 一个变量n和一个变量k,n代表接下来将会有一组个数为n的数据,
// 每个数据范围(1-100),这个数值代表一个人的性格值;
//k代表性格种类个数,
//题目要求判断这n个性格值的数据组中能否分成k个以上的类 
//例如1 1 2 3能分成3类、1 2 3 4能分成四类
//判断完后,如果类别数能达到k,再输出k个个性不同的人对应数组里的位置 ;例如{15 13 15 15 12} 中输出{1 2 5 } 
//利用一个桶数组b[i],作用是记录i性格的人有没有出现过,b[i]存储性格i第一次出现时是位置也就是 当时n个人中的第几个
//读入数据时 例如此时输入的性格为temp 判断b[temp]是否为零,如果为零 说明此时的temp是全新的性格,
//需要用b[]记录,及b[temp]=i,同时当前出现的性格种类+1 
//如果不为零 说明之前已经出现过性格为temp的人,不做任何改变
//到最后输入完成,cnt计数器统计完成了性格类别的个数,同时数组b[]中已经记录了出现过的且第一次出现性别的位置
// 最后输出判断cnt是否大于k,如果是,再将k和数组b的信息输出即可
//注意题目说只需要输出k种,多出来的cnt-k不能输出 

 CodeForces - 1539Bhttps://vjudge.net/contest/528020#problem/FCodeForces - 1539B

训练1(共12题) - Virtual Judge

I题

佩蒂娅曾经写过一首悲伤的情歌,并将它分享给瓦莎。这首歌是一串由小写英文字母组成的字符串。瓦莎就这首歌编了q个问题。每个问题都是关于歌曲中第 l 个字母到第 r 个字母的一个子段。Vasya按照这个子段的字符串的顺序从左到右歌唱,对于每个字母我们会对这个字母重复唱k次,其中k是字母表中对应这个字母的索引。
例如,如果问题是关于子字符串“abbcb”,那么Vasya歌唱字母“a”一次,对于每个字母“b”歌唱两次,字母“c”歌唱三次,这样结果唱出来的字符串就为“abbbbcccbb”,其长度为10。Vasya对结果字符串具体是什么不感兴趣,但是对于结果的字符串长度感兴趣。

所以请你帮助Petya,对于每次Vasya的询问,给出每次询问的子字符串的结果字符串的长度。

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
char arr[99999],c;
int main()
{
	int n,q,l,r=0,b[99999],a[99999];
	cin>>n>>q;
	for(int i=1;i<=n;i++)
	{
		cin>>c;
		a[i]=(c-'a'+1);// 对题目中这句话“对于每个字母我们会对这个字母重复唱k次,其中k是字母表中对应这个字母的索引。” 
	}//k是每个字母对应26个英文字母表的索引,举例就是A=1 B=2 C=3 D=4 E=5 F=6 G=7 ,将每个字符串中每个字母对应的索引号存储到数组a中 
	//题目要求每次询问一个区间内的结果字符串的长度
		for(int i=1;i<=n;i++)//记录i是从1开始的,因为下面要用到他的前一项i==0
		//对应每一个数组b[n],存储着从a[1]、a[2]、a[3]、到a[n]内每一个数组的 
	{
		//使用前缀和公式 
		b[i]=b[i-1]+a[i];
	}
	for(int i=0;i<q;i++)//求区间范围内的长度 
	{
		cin>>l>>r; cout<<b[r]-b[l-1]<<endl;
	}
}
 			 			  	  	 			 			 	  	 		

 

 

J题  黑暗爆炸 - 1218 

训练1(共12题) - Virtual Judge

https://darkbzoj.cc/problem/1218

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=5005;//防止越界 
int a[N][N]={0},s[N][N]={0};
int main(void)
{
	int n,r,ans,res,x,y,w;//
	scanf("%d%d",&n,&r);
	while(n--)
	{
		//输入每个坐标和它的价值 
		scanf("%d%d%d",&x,&y,&w);
		x++;
		y++; 
		a[x][y]+=w;
	}
	for(int i=1;i<N;i++)
	{
		for(int j=1;j<N;j++)
		{//套用公式,遍历,s[i][j]表示的是从[0,0]到 [i][j]这两个点所构成矩形面积内亮度的大小(a[x][y]的大小) 
			s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
		}
	}
	
		for(int i=r;i<N;i++)
	{
		for(int j=r;j<N;j++)
	{
		//输入两个坐标点求两个坐标点所构成矩形面积内亮度的大小 
		//scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
		
		//sum=pre_sum[i][j]-pre_sum[i][j-r]-pre_sum[i-r][j]+pre_sum[i-r][j-r];
	    ans=s[i][j]-s[i-r][j]-s[i][j-r]+s[i-r][j-r]; 
	  res=max(ans,res); 	
	 // if(ans>max) max=ans;
	   
	}	

    } 
 	if(res>32767)res=32767;
     printf("%d\n",res); 
	return 0;
}

 

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

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

相关文章

使用VSCode编辑与编译WSL2下源代码

1. 安装WSL2 2. windows下安装VSCode 3. VSCode安装插件Remote Development 北京时间2019年5月3日&#xff0c;在 PyCon 2019 大会上&#xff0c;微软发布了 VS Code Remote&#xff0c;开启了远程开发的新时代&#xff01;这次发布包含了三款核心的全新插件&#xff0c;它们…

Java文件操作【教你用Java运行微信】

文章目录01 创建文件02 获取文件信息03 目录操作和文件删除04 运行可执行文件01 创建文件 new File(String pathname) //根据路径创建一个File对象&#xff1b;new File(File parent,String child) //根据父目录文件子路径创建&#xff1b;new File(String parent,String chil…

使用mqtt.fx向EMQX服务器发送消息

摘要&#xff1a;本文介绍如何使用mqtt.fx向mqtt服务器&#xff08;EMQX&#xff09;发送消息。顺便介绍一下labview与EMQX连接成功的实现效果。 上一篇文章介绍了如何在ubuntu下安装emqx服务器&#xff0c;以及如何使用mqtt.fx订阅服务器上的一个主题。 ubuntu系统下搭建本地…

为什么ArcGIS添加的TIFF栅格数据是一片纯色

下面来介绍一下今天的正式内容&#xff1a;为什么你添加的tiff栅格数据明明有数据&#xff0c;为什么却在GIS中显示一片颜色。 即使你去拉伸后 他还是显示这样&#xff1f; 那如何才能让他正常显示呢&#xff1f; 逻辑其实是简单的。我们检查数据会发现&#xff0c;这份数据等…

Springboot集成HBase使用案例

一、HBase部署安装 1.HBase下载地址:Apache HBase – Apache HBase Downloads 2.解压启动(进入压缩包bin目录),本次演示的是macOS系统启动演示(windows系统启动命令:./start-hbase.cmd) ./start-hbase.sh 3. 浏览器访问http://IP:16010/master-status出现如下页面表示启动成功…

线程基础知识复习

线程基础知识复习 并发相关Java包 涉及到的包内容 java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locks 并发始祖 并发始祖Doug Lea start线程解读 初始程序 public static void main(String[] args) {Thread t1 new Thread(() ->{},"t…

涛涛的Linux学习笔记

前言&#xff1a; 因为自己偏向Java后端开发&#xff0c;接触linux有一段时间了&#xff0c;但从来没系统的学过&#xff0c;用啥学啥&#xff0c;所以一直感觉体系不全&#xff0c;现在补补日常能用到的。 一、Linux的定位 二、Linux系统的目录结构 目录结构描述/根目录&#…

【云原生】Docker的初步认识,安装与基本操作

内容预知 1.docker的相关知识 1.1 docker的概念 1.2 docker三个重要概念 &#xff08;1&#xff09;image镜像 &#xff08;2&#xff09;container容器 &#xff08;3&#xff09;repostory仓库 1.3 docker的主要用途 1.4 docker与虚拟机的区别 namesapce&#xff…

STM32F334timer6-7

STM32F334timer6-7概况预分频器描述计数模式时钟概况 基本计时器&#xff08;TIM6/TIM7&#xff09;功能包括&#xff1a; •16位自动重新加载递增计数器 •16位可编程预分频器&#xff0c;用于将计数器时钟频率除以1和65535之间的任何因子&#xff08;也可“动态”&#xff0…

立方体贴图shade计算

正常的平面贴图是根据mesh顶点找到对应的uv坐标&#xff0c;然后根据重心坐标插值计算三角面内每个点的uv坐标值。最后根据uv坐标值查找平面贴图上的颜色值。 立方体贴图的6个面分别为6张图片&#xff0c;我们怎么根据mesh面上的坐标值来计算对应平面上的uv坐标值。 基本算法是…

【算法篇-数论】线性筛法(欧拉筛法)筛 n 以内的质数

筛质数1.线性筛法&#xff08;欧拉筛法&#xff09;介绍2.欧拉筛法代码以及分析3.总结本文参考自 B站董晓算法 1.线性筛法&#xff08;欧拉筛法&#xff09;介绍 我们的目标是筛出 2 ~ n 以内的质数 最最最暴力的方法就是一个数一个数判断是不是质数 但是这样的时间复杂度是非…

【Java第31期】:Spring中存储Bean的注解以及用法

作者&#xff1a;有只小猪飞走了 博客地址&#xff1a;https://blog.csdn.net/m0_62262008?typeblog 这期内容&#xff1a;揭开Bean存储的神秘面纱 文章目录前言一&#xff0c;Controller&#xff08;控制存储&#xff09;二&#xff0c;Service&#xff08;服务存储&#xff…

过拟合问题(机器学习)

训练误差代表分类方法对于现有训练样本集的拟合程度 泛化误差代表此方法的泛化能力&#xff0c;即对于新的样本数据的分类能力如何 模型的训练误差比较高&#xff0c;则称此分类模型欠拟合 模型的训练误差低但是泛化误差比较高&#xff0c;则称此分类模型过拟合 对于欠拟合…

QGIS制作精美地图

QGIS制作精美地图 1.首先新建一个Print Layout,并为其命名(PS:如果创建完不小心删了,点右面的Layout Manager即可~ 2.在右侧空白处,设置页面大小(也可以在空白页面右键——属性) 3.点击Items——Add Map,然后在空白页面框画一个范围,这与ArcGIS pro的操作类似(PS:如…

【UML】类图Class Diagram

1、面向对象 面向对象分析&#xff1a;OOA&#xff08;Object-Oriented Analysis&#xff09; 面向对象设计&#xff1a;OOD&#xff08;Object-Oriented design&#xff09; 面向对象分析和面向对象设计的核心问题是怎么抽象对象。类图就是用来表示对象&#xff0c;可以表示…

JavaScript 基础1:变量与数据类型及其转换

JavaScript 基础1&#xff1a;变量与数据类型及其转换 Date: September 17, 2022 了解变量、数据类型、运算符等基础概念&#xff0c;能够实现数据类型的转换&#xff0c;结合四则运算体会如何编程。 体会现实世界中的事物与计算机的关系理解什么是数据并知道数据的分类理解变…

Path.Combine的坑

最近在写一个自动生成代码到指定文件夹的代码需要让玩家指定文件夹紧接着就遇到问题了 可以看到两个路径并没有合并。我查了一下&#xff0c;原来问题是出在总之就是有很多坑。不要用

【USB】macOS usb内核驱动开发入门

文章目录一、环境准备1、背景说明2、SIP是什么&#xff1f;为啥要关闭SI&#xff1f;P3、关闭SIP&#xff08;intel处理器&#xff09;4、样例代码下载二、编译运行三、参考资料一、环境准备 不想我啰哩啰嗦的直接跳到第3点开始执行&#xff01;&#xff01;&#xff01; 1、…

维格云轮播组件入门教程

功能简介 维格云轮播组件是对内传达核心价值观、重要通知,对外宣传广告、推广信息的工具。 维格云轮播组件借助在图片中镶嵌链接,并将多张图片循环播放的方式,可让企业的信息更加突出、有效、快捷地传达。 设置步骤 功能入口 【选择任意应用】——【编辑门户】——【轮播…

基于Kubernetes与云原生的存储测试基准CNSBench

CNSBench A Cloud Native Storage Benchmark基础知识CNSBench的摘要与介绍Kubernetes BackgroundKubernetes的工作流程CNSBench提出的需求分析CNSBench设计与实现CNSBench的示意图CNSBench的基准自定义资源基准自定义资源定义基准自定义资源实例基准测试控制器性能测试与实验测…