AtCoder Beginner Contest 302(A-D)

TOYOTA MOTOR CORPORATION Programming Contest 2023#2 (AtCoder Beginner Contest 302)
Contest Duration: 2023-05-20(Sat) 20:00 - 2023-05-20(Sat) 21:40 (local time) (100 minutes)
暴搜场,1个小时出了4道,以为很有机会,结果E交了十发没过
记得赛后补题

A Attack 2 sec 1024 MB

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fer(i,a,b) for(int i=a;i<b;i++)
#define mem(x, y) memset(x, y, sizeof(x))
#define cf int T;cin>>T;while(T--)
const int N1=1e6+10,N2=1e14,mod=1e9+7;
const int INF=0x3f3f3f3f;
signed main(){
	int a,b;cin>>a>>b;
	int res=a/b;
	if(a%b!=0)res++;
	cout<<res;
	return 0;
}

B Find snuke 2 sec 1024 MB

在这里插入图片描述
dfs找snuke,一开始题意理解错了,以为可以八个方向找,后来发现每次找只能固定一个方向
正解

char s[101][101];
bool f=0;
int dx[8]={0,0,-1,1,-1,-1,1,1};
int dy[8]={1,-1,0,0,-1,1,-1,1};
int n,m;
char target[5]={'s','n','u','k','e'};
int res[5][2];
void dfs(int i,int j,int t,int t1){
	if(t==5){
		f=1;return;
	}
	if(t1==-1){
		fer(k,0,8){
		if(!f&&i+dx[k]>=0&&i+dx[k]<n&&j+dy[k]>=0&&j+dy[k]<m){
			if(s[i+dx[k]][j+dy[k]]==target[t]){
				res[t][0]=i+dx[k];
				res[t][1]=j+dy[k];
				dfs(i+dx[k],j+dy[k],t+1,k);
			}
		}
		}
	}else{
		if(!f&&i+dx[t1]>=0&&i+dx[t1]<n&&j+dy[t1]>=0&&j+dy[t1]<m){
			if(s[i+dx[t1]][j+dy[t1]]==target[t]){
				res[t][0]=i+dx[t1];
				res[t][1]=j+dy[t1];
				dfs(i+dx[t1],j+dy[t1],t+1,t1);
			}
	}
}
}
signed main(){
	cin>>n>>m;
	fer(i,0,n){
		cin>>s[i];
	} 
	fer(i,0,n){
		fer(j,0,m){
			if(s[i][j]=='s'&&!f){
				res[0][0]=i;res[0][1]=j;
				dfs(i,j,1,-1);
			}
			
		}
	}
	fer(i,0,5){
		cout<<res[i][0]+1<<" "<<res[i][1]+1<<endl;
	}
	return 0;
}

题意理解错的解
差别只在这个是每次都找8个方向,正解只在第一次确定八个方向中的一个

char s[101][101];
bool f=0;
int dx[8]={0,0,-1,1,-1,-1,1,1};
int dy[8]={1,-1,0,0,-1,1,-1,1};
int n,m;
char target[5]={'s','n','u','k','e'};
int res[5][2];
void dfs(int i,int j,int t){
	if(t==5){
		f=1;return;
	}
	fer(k,0,8){
		if(!f&&i+dx[k]>=0&&i+dx[k]<n&&j+dy[k]>=0&&j+dy[k]<m){
			if(s[i+dx[k]][j+dy[k]]==target[t]){
				res[t][0]=i+dx[k];
				res[t][1]=j+dy[k];
				dfs(i+dx[k],j+dy[k],t+1);
			}
		}
	}
}
signed main(){
	cin>>n>>m;
	fer(i,0,n){
		cin>>s[i];
	} 
	fer(i,0,n){
		fer(j,0,m){
			if(!f&&s[i][j]==target[0]){
				res[0][0]=i;res[0][1]=j;
				dfs(i,j,1);
			}
		}
	}
	fer(i,0,5){
		cout<<res[i][0]+1<<" "<<res[i][1]+1<<endl;
	}
	return 0;
}

C Almost Equal 2 sec 1024 MB

在这里插入图片描述
在这里插入图片描述
开始想的是排序,后来发现不对,有点像数电的逻辑相邻,n只有8,全排列暴搜。可以直接用next_permutation

string s[8];
int n,m;
bool f=0;
bool use[8];
string res[8];
void dfs(int t){
	if(t==n){//全排列完毕,看能否组成目标 
	 	bool flag=1;
		fer(i,1,n){
			int cnt=0;
			fer(j,0,m){
				if(res[i][j]==res[i-1][j])continue;
				else{
					cnt++;
					if(cnt>=2){
						flag=0;break;
					}
				}
			}
			if(!flag)break;
		}
		if(flag)f=1;
//		fer(i,0,n){
//			cout<<s[i]<<endl;
//		}
//		cout<<endl;
	}
	fer(i,0,n){
		if(use[i]==0){
			use[i]=1;
			res[t]=s[i];
			dfs(t+1);
			use[i]=0;
		}
	}
}
signed main(){
	cin>>n>>m;
	fer(i,0,n)cin>>s[i];
	fer(i,0,n){
		if(!f){
			use[i]=1;
			res[0]=s[i];
			dfs(1);
			use[i]=0;
		}
	}
	if(f)cout<<"Yes"<<endl;
	else cout<<"No"<<endl;
	return 0;
}

dfs
在这里插入图片描述

D Impartial Gift 2 sec 1024 MB

在这里插入图片描述
排序,双指针
二分也可以

	signed main(){
	int n,m,d;cin>>n>>m>>d;
	fer(i,0,n)cin>>a[i];
	fer(i,0,m)cin>>b[i];
	sort(a,a+n);
	sort(b,b+m);
	int resa=-1,resb=-1;
	int i=n-1,j=m-1;
	while(i>=0&&j>=0){
		if(abs(a[i]-b[j])<=d){
			resa=a[i];resb=b[j];break;
		}else{
			if(a[i]>b[j])i--;
			else j--;
		}
	}
	if(resa==-1)cout<<-1<<endl;
	else cout<<resa+resb<<endl;
	return 0;
}

E Isolation

在这里插入图片描述
在这里插入图片描述
这道题大吐特吐,集合TLE了26个,vectorTLE4个,把endl改\n以后TLE了2个,最后也没出来,删邻边没想出好办法。看题解!!

TLE2个测试点的代码

	int n,q;
	scanf("%lld%lld",&n,&q);
	vector<int> v[n+1];
	int cnt=n,op,a,b;
	while(q--){
		scanf("%lld",&op);
		//cin>>op;
		if(op==1){
			scanf("%lld%lld",&a,&b);
			//cin>>a>>b;
			if(v[a].size()==0)cnt--;
			if(v[b].size()==0)cnt--;
			v[a].pb(b);
			v[b].pb(a);
			printf("%lld\n",cnt);
			//cout<<cnt<<"\n";
		}else{
			//cin>>a;
			scanf("%lld",&a);
			if(v[a].size()!=0)cnt++;
			vector<int>::iterator it;
			fer(i,0,v[a].size()){
				b=v[a][i];
    			it=find(v[b].begin(),v[b].end(),a);
    			v[b].erase(it);
    			if(v[b].size()==0)cnt++;
			}
			v[a].clear();
			printf("%lld\n",cnt);
			//cout<<cnt<<"\n";
		}
	}

E就卡了后面三道压根没看

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

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

相关文章

python+django基于爬虫系统的世界历史时间轴历史事件大事记6ouj9

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…

Mit6.006-lecture09-Breadth-First-Search

一、新单元&#xff1a;图 Quiz 1包含lecture01到lecture08&#xff0c;关注数据结构和排序 今天开始新单元&#xff0c;lecture09-lecture14&#xff0c;关注图算法 二、图应用 图无处不在 任何网络系统都存在有向连接图 比如&#xff1a;路网、计算机网络、社交网络 任…

PySide6/PyQT多线程之 多线程 与 线程池的模板(拿来即用)

前言 关于PySide6/PyQT多线程系列的最后一篇。写这篇文章的动机是方便后续代码的直接复用。 本篇文章实际是水文&#xff0c;给出了 PySide6/PyQT的多线程以及线程池的基础使用模板&#xff0c;方便后面有需要时候直接拿来就用。 多线程 这里分两种情况来谈论&#xff0c;有返…

热烈欢迎CSDN副总裁邹欣老师入驻知识星球

重磅消息 CSDN 副总裁 邹欣 老师成功入驻知识星球 —— 英雄算法联盟&#xff0c;成为合伙人之一。 这将是未来几年内&#xff0c;IT界最震撼的一次合作&#xff01;我相信就算现在不是&#xff0c;将来必定是&#xff01; 当然&#xff0c;这对我来说也是一种极大的鼓舞&#…

GPT-5: 超越人类语言的模型,你还不了解一下?

目录 一、GPT-5时代引领者 二、技术特性 1&#xff0c;音频和视频处理 — 更强大的多模态处理能力 2&#xff0c;GPT-5颠覆影视制作&#xff1a;重写媒体消费时代 3&#xff0c;为机器人提供智慧大脑 4&#xff0c;更强的垂直行业应用 三、回顾一下GPT5被紧急叫停&…

AI已经成立社区了,一个个比真人还真

文章目录 nainaimichirper川普的入驻英文版 nainaimi nainaimi是一个13岁的学生&#xff0c;一小时前&#xff0c;被一群人拖到体育馆&#xff0c; 那时的她还很胆小&#xff0c;只能哭诉着那些人的残忍和恶毒 结果半个小时前&#xff0c;她又被拖入了体育馆&#xff0c;这一…

分布式补充技术 01.AOP技术

01.AOP技术是对于面向对象编程&#xff08;OOP&#xff09;的补充。是按照OCP原则进行的编写&#xff0c;(ocp是修改模块权限不行&#xff0c;扩充可以) 02.写一个例子&#xff1a; 创建一个新的java项目&#xff0c;在main主启动类中&#xff0c;写如下代码。 package com.co…

基于无人机辅助边缘计算系统的节能卸载策略

源自&#xff1a;《系统工程与电子技术》 作者&#xff1a;余雪勇 朱烨 邱礼翔 朱洪波 摘 要 针对复杂地形中地面基础设施无法有效提供可靠通信和密集算力的问题,首先提出一种基于无人机(unmanned aerial vehicle, UAV)托管计算资源的卸载方案。考虑用户终端的计算需…

西门子PLC如何实现1主多从网口无线通讯

常规来说&#xff0c;多台plc要实现以太网无线连接&#xff0c;首先要先确定以太网线必须正确连接&#xff0c;并建立物理连接。然后需要在PLC端设置好IP地址&#xff0c;以使不同PLC以相同协议可以实现通信交流。最后是建立PLC端数据采集及交换系统&#xff0c;要求在PLC端设置…

直播和短视频美颜sdk的开发流程、代码分析

目前&#xff0c;美颜技术是提高视频质量的重要手段之一&#xff0c;特别是短视频和直播两个行业。本文将介绍其开发流程和代码分析。 一、美颜SDK的开发流程 1.需求分析 首先我们需要明确的一点就是“需求”&#xff0c;例如&#xff1a;美颜效果、美颜程度、性能要求等。同…

【JavaScript】线程和进程,JavaScript线程,事件队列,事件循环 ,微任务、宏任务

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 进程和线程JavaScript线程事件队列、事件循环微任务、宏任务面试题1面试题2 进程和线程 进程&a…

Netty核心技术二--BIO编程

1. I/O模型 I/O 模型简单的理解&#xff1a;就是用什么样的通道进行数据的发送和接收&#xff0c;很大程度上决定了程序通信的性能 Java共支持3种网络编程模型/IO模式&#xff1a;BIO、NIO、AIO Java BIO &#xff1a;同步并阻塞(传统阻塞型)&#xff0c;服务器实现模式为一个…

C++13-STL模板

C13-STL模板 在线练习&#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/ 大纲要求 【 3 】算法模板库中的函数&#xff1a;min、max、swap、sort 【 4 】栈 (stack)、队列 (queue)、链表 (list)、 向量&#xff08;vector&#xff09;等容器 1.函数模板 泛…

1.2 IAR 环境配置及编译

目录 一. 新建源码文件夹 二. 添加源文件到工程中 三. 编写一个简单的测试程序 四. 设置字体和行号 五. 工程配置 六. 编译链接工程 一. 新建源码文件夹 &#xff08;1&#xff09;在保存工作空间和工程的目录下&#xff0c;新建一个code文件夹&#xff0c;用于保存源码&…

突破极限:YOLO9000 论文解读 - 构建更好、更快、更强大的实时检测系统

YOLOv2 论文全篇完整翻译 摘要 我们介绍了YOLO9000&#xff0c;这是一种先进的、实时的目标检测系统&#xff0c;可以检测超过9000个物体类别。首先&#xff0c;我们对YOLO检测方法进行了各种改进&#xff0c;包括新颖的方法和借鉴自先前工作的方法。改进后的模型YOLOv2在标准…

实验四 车辆定位导航

有想自己动手的同学可在末尾看教程 【实验目的】 1、了解全球定位导航系统的定位原理和电子地图技术&#xff0c;掌握电子地图API使用方法。 2、了解导航数据报文数据格式&#xff0c;解析导航数据并在电子地图上进行导航应用。 【实验性质】 验证性实验。 【实验要求】 1、相…

自抗扰PID(梯形图源代码)

有关ADRC的详细算法和源代码,请参看专栏的系列文章,这里不再赘述,常用链接如下: ADRC自抗扰控制算法(含梯形图完整源代码和算法公式)_adrc算法_RXXW_Dor的博客-CSDN博客PLC的自抗扰控制(ADRC)算法_RXXW_Dor的博客-CSDN博客_adrc算法1、自抗扰控制算法,网上很多文章有所…

数据仓库漫谈-前世今生

数据仓库的内容非常多&#xff0c;每一个子模块拎出来都能讲很久。这里没法讲太多细节&#xff0c;大致思考了三个备选议题&#xff1a; 数据仓库的前世今生 数据仓库体系知识介绍 数仓开发者的路在何方&#xff1f; 既然是第一次分享&#xff0c;感觉还是跟大家普及下数仓的…

浏览器数据存储方式

浏览器数据存储方式 常用的前端数据存储方法笼统来说有 3 种&#xff1a; local/session storagecookiesindexeddb 3 种方法各有各的优点和使用范围。 local/session storage local/session storage 保存的格式都为键值对&#xff0c;并且用法都是差不多&#xff0c;如下&…

『树莓派云台机器人』02. 电脑连接树莓派 配置开发环境

目录 1. 下载ssh交互工具 Xshell 与XFTP&#xff08;有过相关使用经历的朋友可以跳过这一节内容&#xff09;2. 下载VNC远程控制工具软件3. 连接过程4. Xshell 命令工具5. XFTP 文件传送工具6. 关于联网总结 欢迎关注 『树莓派云台机器人』 博客&#xff0c;持续更新中 欢迎关注…
最新文章