河南萌新联赛2024第(二)场:南阳理工学院

文章目录

    • 链接
  • A. 国际旅行Ⅰ
    • 题意与思路
    • 代码
  • D.A*BBBB
    • 题意与思路
    • 代码
  • F.水灵灵的小学弟
    • 题意与思路
    • 代码
  • H.狼狼的备忘录
    • 题意与思路
    • 代码
  • I.重生之zbk要拿回属于他的一切
    • 题意与思路
    • 代码
  • J.这是签到
    • 题意与思路
    • 代码
    • 总结

链接

链接

A. 国际旅行Ⅰ

题意与思路

这是一个签到题,输入的城市的值排序,然后按他给的顺序输出就行了

代码

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;
int a[1010];
signed main()
{
	IOS
	int T=1;
	//cin>>T;
	while(T--)
	{
		int n,m,q,c,b,d;
		cin>>n>>m>>q;
		for(int i=1;i<=n;i++)
		{
			cin>>a[i];
		}
		sort(a+1,a+1+n);
		for(int i=1;i<=m;i++)
		cin>>c>>d;
		while(q--)
		{
			cin>>b;
			cout<<a[b]<<endl;
		}
	}
	return 0;
}

D.A*BBBB

题意与思路

这个题就是两个大数相乘,我么们可以找一下规律看下图
在这里插入图片描述
因为b的每一位都相同上图是第一个样例乘2得到的,可以看出中间的数值是一样的所以,就可以把这看成一种规律来写

代码

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
const int N=2e6+10;

void solve()
{
    string a,b;
    cin>>a;
	cin>>b;
    //cout<<a<<' '<<b<<endl;
    if(a.length()==1&&a[0]-'0'==0)
    {
        cout<<0<<endl;
        return;
    }
    ll c[N],ans[N];
    memset(c,0,sizeof c);
    memset(ans,0,sizeof ans);
    ll lc=0;
    for(ll i=a.length()-1;i>=0;i--)
    {
        c[a.length()-i-1]=a[i]-'0';
        lc++;
		//d[a.length()-i-1]=a[i];
    }
    ll bb=b[0]-'0';
    if(bb==0)
    {
        cout<<0<<endl;
        return;
    }
    ll t=0;
    //c[strlen(c)]='0';
    for(ll i=0;i<lc;i++)
    {
        ll s=c[i]*bb+t;
        c[i]=s%10;
        t=s/10;
    }
    if(t!=0)
    {
        c[lc]=t;
        lc++;
    }
    for(ll i=1;i<lc;i++) c[i]+=c[i-1];
    ll cc=0,tt=0;
	for(ll i=0;i<lc+b.length();i++)
    {
    	if(i<lc) ans[i]=c[i];
    	else ans[i]=c[lc-1];
		if(i>=b.length()) ans[i]-=c[i-b.length()];	
	}
	//for(int i=0;i<lc+b.length();i++) cout<<ans[i]<<' ';
	//cout<<endl;
	//t=0;
    ll lans=0;
    t=0;
	for(ll i=0;i<lc+b.length();i++)
	{
        //if(t==0&&ans[i]==0) break;
		t+=ans[i];
		ans[i]=t%10;
		//ans[i+1]+=t/10;
        t/=10;
        lans++;
	}
    while(t!=0)
    {
        ans[lans++]=t%10;
        t/=10;
    }
	ll f=0;
	for(ll i=lans;i>=0;i--)
	{
		if(f==0&&ans[i]==0) continue;
		else if(f==0&&ans[i]!=0)
		{
			f=1;
		}
		cout<<ans[i];
	 } //cout<<ans[i]<<' ';
	cout<<endl;
}

int main()
{
    int t;
    cin>>t;
    while(t--) solve(); 
}

F.水灵灵的小学弟

题意与思路

这个题目意思是个博弈题,但博弈是一点没考,他说谁赢输出谁的名字首拼大写,但题目上两个名字首拼相同,所以不管输入什么,都输出首拼就行

代码

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;
int a[1010];
signed main()
{
	IOS
	int T=1;
	cin>>T;
	while(T--)
	{
		int a,b;
		cin>>a>>b;
		cout<<"DHY"<<endl;
	}
	return 0;
}

H.狼狼的备忘录

题意与思路

这个题就是,给你几行信息每行有名字和信息,让名字相同的合并在一起,但如果一个人有两个信息,一个信息是另一个的后缀就不用保留后缀的那个信息了,如果信息相等就随便舍去一个,我的思路就是把信息都存在一个map嵌套set容器中,然后把相同人的信息存到一个set里面,让后用rfind函数去找是否有后缀,如果有就删除,反之就添加到set里

代码

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;
map<string,set<string>>ma;
signed main()
{
	IOS
	int T=1;
	cin>>T;
	while(T--)
	{
		string s,a;
		int n;
		cin>>s>>n;
		while(n--)
		{
			int f=0;
			cin>>a;
			if(ma[s].size()==0)
		       ma[s].insert(a);
		    else
		    {
		    	vector<string>v;
		    	for(auto i:ma[s])
		    	{
		    		if(i.size()>=a.size())
		    		{
		    			if(i.rfind(a)!=-1&&i.rfind(a)+a.size()==i.size())
						f=1;
					}
					else
					{
						if(a.rfind(i)!=-1&&a.rfind(i)+i.size()==a.size())
                            v.push_back(i);
					}
				}
				if(f==0)
				ma[s].insert(a);
				if(v.size())
				{
                    ma[s].insert(a);
					for(auto x:v)
					{
						ma[s].erase(x);
					}
				}
			}
        }
	}
	cout<<ma.size()<<endl;
	for(auto x:ma)
	{
		cout<<x.first<<" "<<ma[x.first].size()<<" ";
		for(auto y:ma[x.first])
		{
			cout<<y<<" ";
		}
		cout<<endl;
	}
	return 0;
}

I.重生之zbk要拿回属于他的一切

题意与思路

这个题目就是给你一个字符串让你求他有几个“chuan”字 串,我们可以每次截取5个字符判断是否与“chuan”

代码

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;

signed main()
{
	IOS
	int T=1;
	//cin>>T;
	while(T--)
	{
		string s,b="chuan";
		int n,sum=0;
		cin>>n>>s;
		for(int i=0;i<s.size();i++)
		{
			string a=s.substr(i,5);
			if(b==a)
			sum++;
		}
		cout<<sum<<endl;
	}
	return 0;
}

J.这是签到

题意与思路

这个题就是给你n行m列的矩形,求(1,1)到(n,n)的行列式,如果给你(3,4)就把第四行全部补0,列不够也是如此
我的思路就是纯暴力,因为范围最大就是5,所以把1到5的行列式全列出来就行了

代码

#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;
int a[10][10];
signed main()
{
	IOS
	int T=1;
	//cin>>T;
	while(T--)
	{
		int m,n,mi=1e9,t;
		cin>>m>>n;
		int k=max(m,n);
		for(int i=1;i<=m;i++)
		{
			for(int j=1;j<=n;j++)
			{
				cin>>a[i][j];
			}
		}
		mi=min(mi,a[1][1]);
		if(k==1)
		{
			cout<<mi<<endl;
			return 0;
		}
		mi=min(mi,a[1][1]*a[2][2]-a[1][2]*a[2][1]);
		if(k==2)
		{
			cout<<mi<<endl;
			return 0;
		}
		t=a[1][1]*a[2][2]*a[3][3]+
		a[1][2]*a[2][3]*a[3][1]+
		a[1][3]*a[2][1]*a[3][2]-
		a[1][3]*a[2][2]*a[3][1]-
		a[2][3]*a[3][2]*a[1][1]-
		a[3][3]*a[1][2]*a[2][1];
		mi=min(mi,t);
		if(k==3)
		{
			cout<<mi<<endl;
			return 0;
		}
		t=a[1][1]*a[2][2]*a[3][3]*a[4][4]+
		a[1][2]*a[2][3]*a[3][4]*a[4][1]+
		a[1][3]*a[2][4]*a[3][1]*a[4][2]+
		a[1][4]*a[2][1]*a[3][2]*a[4][3]-
		a[1][4]*a[2][3]*a[3][2]*a[4][1]-
		a[2][4]*a[3][3]*a[4][2]*a[1][1]-
		a[3][4]*a[4][3]*a[1][2]*a[2][1]-
		a[4][4]*a[1][3]*a[2][2]*a[3][1];
		mi=min(mi,t);
		if(k==4)
		{
			cout<<mi<<endl;
			return 0;
		}
		t=a[1][1]*a[2][2]*a[3][3]*a[4][4]*a[5][5]+
		a[1][2]*a[2][3]*a[3][4]*a[4][5]*a[5][1]+
		a[1][3]*a[2][4]*a[3][5]*a[4][1]*a[5][2]+
		a[1][4]*a[2][5]*a[3][1]*a[4][2]*a[5][3]+
		a[1][5]*a[2][1]*a[3][2]*a[4][3]*a[5][4]-
		a[1][5]*a[2][4]*a[3][3]*a[4][2]*a[5][1]-
		a[2][5]*a[3][4]*a[4][3]*a[5][2]*a[1][1]-
		a[3][5]*a[4][4]*a[5][3]*a[1][2]*a[2][1]-
		a[4][5]*a[5][4]*a[2][2]*a[1][3]*a[3][1]-
		a[1][4]*a[4][1]*a[2][3]*a[3][2]*a[5][5];
		mi=min(mi,t);
		cout<<mi<<endl;
	}
	return 0;
}

总结

这一次比赛中间的题都是大模拟,用stl容器比较多,而我stl用的不好导致模拟题没写出来,当时连两个容器一起怎么遍历都不知道,别说写了,赛后我要好好学一下容器,要不然只用数组对于一些大模拟题太吃亏了

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

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

相关文章

[红明谷CTF 2021]write_shell 1

目录 代码审计check()$_GET["action"] ?? "" 解题 代码审计 <?php error_reporting(0); highlight_file(__FILE__); function check($input){if(preg_match("/| |_|php|;|~|\\^|\\|eval|{|}/i",$input)){// if(preg_match("/| |_||p…

如何使用C#快速创建定时任务

原文链接&#xff1a;https://www.cnblogs.com/zhaotianff/p/17511040.html 使用Windows的计划任务功能可以创建定时任务。 使用schtasks.exe可以对计划任务进行管理&#xff0c;而不需要编写额外代码 这里掌握schtasks /CREATE 的几个核心参数就可以快速创建计划任务 /SC …

一些和颜色相关网站

1.中国传统色 2.网页颜色选择器 3.渐变色网站 4.多风格色卡生成 5.波浪生成 6.半透明磨砂框 7.色卡组合

OAK相机支持的图像传感器有哪些?

相机支持的传感器 在 RVC2 上&#xff0c;固件必须具有传感器配置才能支持给定的相机传感器。目前&#xff0c;我们支持下面列出的相机传感器的开箱即用&#xff08;固件中&#xff09;传感器配置。 名称 分辨率 传感器类型 尺寸 最大 帧率 IMX378 40563040 彩色 1/2.…

nginx通过nginx_upstream_check_module实现后端健康检查

1、简介说明 nginx是常用的反向代理和负载均衡服务&#xff0c;具有强大并发能力、稳定性、丰富的功能集、低资源的消耗。 nginx自身是没有针对后端节点健康检查的&#xff0c;但是可以通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的相关指令来完…

EmlogPro图片本地化插件修复版V2.0

Emlog图片本地化插件V2.0 全新优化升级版&#xff0c;并非emlog官方发布的收费插件&#xff0c;可以快速将文章中的远程图片链接下载到自己的服务器&#xff0c;避免远程站点图片防盗链、跑路等等问题&#xff01; 插件下载&#xff1a;img2local.zip 功能特色&#xff1a; …

Centos安装、迁移gitlab

Centos安装迁移gitlab 一、下载安装二、配置rb修改&#xff0c;起服务。三、访问web&#xff0c;个人偏好设置。四、数据迁移1、查看当前GitLab版本2、备份旧服务器的文件3、将上述备份文件拷贝到新服务器同一目录下&#xff0c;恢复GitLab4、停止新gitlab数据连接服务5、恢复备…

MySQL SQL 编程练习

目录 创建表并插入数据 查看表结构 创建触发器 创建INSERT 触发器 创建DELETE 触发器 创建更新触发器 创建存储过程 创建提取emp_new表所有员工姓名和工资的存储过程s1 创建存储过程s2&#xff0c;实现输入员工姓名后返回员工的年龄 创建一个存储过程s3&#xff0c;有2个参数&…

<数据集>AffectNet表情识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;29752张 标注数量(xml文件个数)&#xff1a;29752 标注数量(txt文件个数)&#xff1a;29752 标注类别数&#xff1a;7 标注类别名称&#xff1a;[anger,contempt,disgust,fear,happy,neutral,sad,surprise] 序号类…

在WPF中使用WebView2详解

Microsoft Edge WebView2 Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 JavaScript)。 WebView2 控件使用 Microsoft Edge 作为绘制引擎&#xff0c;以在本机应用中显示 web 内容。 使用 WebView2 可以在本机应用的不同部分嵌入 Web 代码&…

【网络流】——初识(最大流)

网络流-最大流 基础信息引入一些概念基本性质 最大流定义 Ford–Fulkerson 增广Edmons−Karp算法Dinic 算法参考文献 基础信息 引入 假定现在有一个无限放水的自来水厂和一个无限收水的小区&#xff0c;他们之间有多条水管和一些节点构成。 每一条水管有三个属性&#xff1a…

【算法】单链表面试题

1.求单链表中有效节点的个数 //方法&#xff1a;获取到单链表的节点的个数(如果是带头节点的链表&#xff0c;不统计头节点)/**** param head 链表的头节点* return 返回有效节点的个数*/public static int getLength(HeroNode head) {if (head.next null) {return 0;}int le…

面试场景题系列--(2)短 URL 生成器设计:百亿短 URL 怎样做到无冲突?--xunznux

文章目录 面试场景题&#xff1a;短 URL 生成器设计&#xff1a;百亿短 URL 怎样做到无冲突&#xff1f;1. 需求分析2. 短链接生成算法2.1 自增法2.2 散列函数法2.3 预生成法 3. 部署模型3.1 其他部署方案 4. 设计4.1 重定向响应码4.2 短 URL 预生成文件及预加载4.3 用户自定义…

抖音直播弹幕数据逆向:websocket和JS注入

&#x1f50d; 思路与步骤详解 &#x1f575;️‍♂️ 思路介绍 首先&#xff0c;我们通过抓包工具进入的直播间&#xff0c;捕获其网络通信数据&#xff0c;重点关注WebSocket连接。发现直播弹幕数据通过WebSocket传输&#xff0c;这种方式比传统的HTTP更适合实时数据的传输。…

【LLM】-07-提示工程-聊天机器人

目录 1、给定身份 1.1、基础代码 1.2、聊天机器人 2、构建上下文 3、订餐机器人 3.1、窗口可视化 3.2、构建机器人 3.3、创建JSON摘要 利用会话形式&#xff0c;与具有个性化特性&#xff08;或专门为特定任务或行为设计&#xff09;的聊天机器人进行深度对话。 在 Ch…

聊聊基于Alink库的主成分分析(PCA)

概述 主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是一种常用的数据降维和特征提取技术&#xff0c;用于将高维数据转换为低维的特征空间。其目标是通过线性变换将原始特征转化为一组新的互相无关的变量&#xff0c;这些新变量称为主成分&…

基于opencv[python]的人脸检测

1 图片爬虫 这里的代码转载自&#xff1a;http://t.csdnimg.cn/T4R4F # 获取图片数据 import os.path import fake_useragent import requests from lxml import etree# UA伪装 head {"User-Agent": fake_useragent.UserAgent().random}pic_name 0 def request_pic…

idea springBoot启动时覆盖apollo配置中心的参数

vm options -Dorder.stat.corn“0/1 * * * * ?” 只有vm options, -D参数才能覆盖apollo参数 program arguments –key01val01 --key02val02 environment varibales envFAT;key02val02;key03val03

BGP选路之Preferred value

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时&#xff0c;BGP协议会对这些BGP路由的属性进行比较&#xff0c;以确定去往该目标网络的最优BGP路由&#xff0c;然后将该最优BGP路由与去往同一目标网络的其他协议路由进行比较&#xff0c;从而决定是否将该最优…

在 VM 虚拟机中安装 openEuler + 桌面

在 VM 虚拟机中安装 openEuler 1 介绍2 步骤语言Root 账户安装位置网络和主机名自动检索到【推荐】手动配置网络 软件选择安装完成登录测试网络curl ip / ping ipip link show / ip a如网络不通&#xff0c;可检查网卡状态和dns配置 安装命令设置以图形界面的方式启动【dde】第…