acm培训 part 1(题解)

news2025/7/7 21:02:18

第一部分的培训为语法糖,stl容器以及复杂度。

 题目分析

1.1 Long Loong  AtCoder - abc336_a 

​​

这道题的重点在于多个o的输出。在保证前面‘L’ 的输出和后面‘ng’的输出下,输入需要输出的o的数字,来实现需要输出的效果。

代码如下

#include <stdio.h>
#include <string.h>
int main()
{
    int n, i;
    scanf("%d", &n);
    printf("L");
    for (i = 0; i < n; i++) {
        printf("o");//这里输出多个o
    }
    printf("ng");
    return 0;
}

1.2 YES or YES?   CodeForces-1703A

 

这道题重点在于不论你输入的yes y,e,s是否大写,都认为是yes,所以输出yes,如果其中有一个字符是错的,那么直接输出no,代码如下

#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
	int n, i;
	char a[10000];
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		int flag = 0;
		
		cin >> a;
		int k = strlen(a);
		if (k == 3)
		{
			if ((a[0] == 'Y' || a[0] == 'y') && (a[1] == 'E' || a[1] == 'e') &&(a[2] == 's' || a[2] == 'S'))
				flag = 1;
		}
		if (flag == 1)
		{
			printf("YES\n");
		}
		else
		{
			printf("NO\n");
		}
	}
	return 0;
}

1.3 Even? Odd? G    洛谷 P2955 - Virtual Judge  

这道题重点在与判断奇数或者偶数。如果只是简单的%2来判断,那么只会拿60分。注意到这个数字长度超出了long long的限制,所以我们考虑用字符串吃入这个数字,再判断最后一位是不是奇数或者偶数,代码如下

#include <stdio.h>
#include <string.h>
int main()
{
    int n, i;
    char a[10000000];
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        scanf("%s", a);
        int k = strlen(a);
        if (a[k - 1] % 2 == 0)
        {
            printf("even\n");
        }
        else {
            printf("odd\n");
        }
    }

    return 0;
}

1.4 Problem Generator CodeForces - 1980A

这道题目重点在于ABCDEFG 7种难度的题目里面,如果缺哪一种,就得想出相对应的问题。那么我们可以想到我们可以用数组来存储。如果一场比赛,我们有ABCDEF6道题目,那我们就只要想出G题,及一道题,如果对应道数组里面,即是a数组下标0,1,2,3,4,5的值都为1,6的值为0,那么我们就找出那个值小于轮数的成员,再对应算出该成员缺少的问题的数量

代码如下

#include <iostream>
#include <string>
#include <vector> 
using namespace std;
int solve(int n, int m, std::string a) {
	std::vector<int> cnt(7, 0);
	for (char c : a) {
		if (c == 'A') 
			cnt[0]++;
		else if (c == 'B') 
			cnt[1]++;
		else if (c == 'C') 
			cnt[2]++;
		else if (c == 'D')
			cnt[3]++;
		else if (c == 'E') 
			cnt[4]++;
		else if (c == 'F')
			cnt[5]++;
		else if (c == 'G') 
			 cnt[6]++;
	}
	n = 0;
	for (int i = 0; i < 7; ++i) {
		if (cnt[i] < m) {
			n += m - cnt[i];
		}
	}
	return n;
}

int main() {
	int t;
	std::cin >> t;
	while (t--) {
		int n, m;
		std::cin >> n >> m;
		std::string a;
		std::cin >> a;
		std::cout << solve(n, m, a) << std::endl;
	}
	return 0;
}

1.5  rules  洛谷 - B4012

 

这道题的重点在于统计出每一天遵守规则k的人数,以及是否有一半的天数都有每天有一半以上的人遵守规则k。这边注意的是一半不能用int类型,会吃掉所有的小数点的数字,造成误差,代码如下

#include <stdio.h>
int main()
{
	int i, j, t, k, n, x, a, b;
	int cnt2 = 0;
	scanf("%d %d %d", &n, &t, &k);
	a =( n +1) / 2;
	b =( t +1) / 2;
	for (i = 1; i <= t; i++)
	{
		int cnt1 = 0;

		for (j = 1; j <= n; j++)
		{
			scanf("%d", &x);
			if (x == k)
				cnt1++;
		}
		if (cnt1 >= a)
		{
			cnt2++;
		}
	}
	if (cnt2 >= b)
	{
		printf("YES\n");
	}
	else
	{
		printf("NO\n");
	}
	return 0;
}

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

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

相关文章

vulfocus/fastjson-cnvd_2017_02833复现

漏洞概述 Fastjson 是阿里巴巴开发的一个高性能的 Java 库&#xff0c;用于将 Java 对象转换成 JSON 格式&#xff08;序列化&#xff09;&#xff0c;以及将 JSON 字符串转换回 Java 对象&#xff08;反序列化&#xff09;。 fastjson在解析json的过程中,支持使用type字段来指…

Ceisum无人机巡检直播视频投射

接上次的视频投影&#xff0c;Leader告诉我这个视频投影要用在两个地方&#xff0c;一个是我原先写的轨迹回放那里&#xff0c;另一个在无人机起飞后的地图回显&#xff0c;要实时播放无人机拍摄的视频&#xff0c;还要能转镜头&#xff0c;让我把这个也接一下。 我的天&#x…

一句话,我让 AI 帮我做了个 P 图网站!

每到过节&#xff0c;不少小伙伴都会给自己的头像 P 个图&#xff0c;加点儿装饰。 比如圣诞节给自己头上 P 个圣诞帽&#xff0c;国庆节 P 个小红旗等等。这是一类比较简单、需求量却很大的 P 图场景&#xff0c;也有很多现成的网站和小程序&#xff0c;能帮你快速完成这件事…

【深度学习】 自动微分

自动微分 正如上节所说&#xff0c;求导是几乎所有深度学习优化算法的关键步骤。 虽然求导的计算很简单&#xff0c;只需要一些基本的微积分。 但对于复杂的模型&#xff0c;手工进行更新是一件很痛苦的事情&#xff08;而且经常容易出错&#xff09;。 深度学习框架通过自动…

Go语言中的值类型和引用类型特点

一、值类型 值类型的数据直接包含值&#xff0c;当它们被赋值给一个新的变量或者作为参数传递给函数时&#xff0c;实际上是创建了原值的一个副本。这意味着对新变量的修改不会影响原始变量的值。 Go中的值类型包括&#xff1a; 基础类型&#xff1a;int&#xff0c;float64…

Vue2 项目二次封装Axios

引言 在现代前端开发中&#xff0c;HTTP请求管理是构建健壮应用的核心能力之一。Axios作为目前最流行的HTTP客户端库&#xff0c;其灵活性和可扩展性为开发者提供了强大的基础能力。 1. 为什么要二次封装Axios&#xff1f; 1.1 统一项目管理需求 API路径标准化&#xff1a;…

使用Layout三行布局(SemiDesign)

tips&#xff1a;Semi Design网址 &#xff1a;Semi Design 1、安装Semi # 使用 npm npm i douyinfe/semi-ui# 使用 yarn yarn add douyinfe/semi-ui# 使用 pnpm pnpm add douyinfe/semi-ui 2、引入Layout布局 import { Layout } from douyinfe/semi-ui;3、开始实现三行布局…

css命名规范——BEM

目录 引言 BEM是什么? 块Block 元素Element 修饰语Modifier BEM解决了哪些问题? 在流行框架的组件中使用 BEM 格式 实战 认识设计图 如何使用当前的css规范正确命名? 引言 css样式类命名难、太难了,难于上青天,这个和js变量命名还不一样。看看项目中五花八门的样…

mysql 学习2 MYSQL数据模型,mysql内部可以创建多个数据库,一个数据库中有多个表;表是真正放数据的地方,关系型数据库 。

在第一章中安装 &#xff0c;启动mysql80 服务后&#xff0c;连接上了mysql&#xff0c;那么就要 使用 SQL语句来 操作mysql数据库了。那么在学习 SQL语言操作 mysql 数据库 之前&#xff0c;要对于 mysql数据模型有一个了解。 MYSQL数据模型 在下图中 客户端 将 SQL语言&…

(十四)WebGL纹理坐标初识

纹理坐标是 WebGL 中将 2D 图像&#xff08;纹理&#xff09;应用到 3D 物体表面的重要概念。在 WebGL 中&#xff0c;纹理坐标通常使用一个二维坐标系&#xff0c;称为 uv 坐标&#xff0c;它们决定了纹理图像如何映射到几何体上。理解纹理坐标的核心就是明白它们如何将二维纹…

数据统计–图形报表(day11)

Apache ECharts 介绍 Apache ECharts 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数据可视化图表。 官网地址&#xff1a;Apache ECharts 入门案例 Apache Echarts官方…

小游戏源码开发搭建技术栈和服务器配置流程

近些年各种场景小游戏开发搭建版本层出不穷,山东布谷科技拥有多年海内外小游戏源码开发经验&#xff0c;现为从事小游戏源码开发或游戏运营的朋友们详细介绍小游戏开发及服务器配置流程。 一、可以对接到app的小游戏是如何开发的 1、小游戏源码开发的需求分析&#xff1a; 明…

Android Studio安装配置

一、注意事项 想做安卓app和开发板通信&#xff0c;踩了大坑&#xff0c;Android 开发不是下载了就能直接开发的&#xff0c;对于新手需要注意的如下&#xff1a; 1、Android Studio版本&#xff0c;根据自己的Android Studio版本对应决定了你所兼容的AGP&#xff08;Android…

三分钟简单了解一些HTML的标签和语法_02

1.a标签演示 点击然后跳转 代码加入title 2.图片链接 3.锚点链接 点击就会跳转的当前位置 4.a标签小知识补充 该实例会跳转到顶,锚点链接则会跳转到相应的锚点 5. 结果:直接跳转到该页面的锚点处 6. 在 HTML 中&#xff0c;<tr>标签表示表格中的行&#xff08;TableRow&…

【CES2025】超越界限:ThinkAR推出8小时满电可用的超轻AR眼镜AiLens

在2025年国际消费类电子产品展览会(CES 2025)上,日本AR技术开发商ThinkAR携手超低功耗半导体和边缘AI解决方案提供商Ambiq,共同推出了名为AiLens的最新AR眼镜产品。这款设备不仅具备轻便的设计,而且拥有长达8小时的连续使用时间,为用户带来了前所未有的便捷体验。 AiLen…

Vue入门(Vue基本语法、axios、组件、事件分发)

Vue入门 Vue概述 Vue (读音/vju/&#xff0c;类似于view)是一套用于构建用户界面的渐进式框架&#xff0c;发布于2014年2月。与其它大型框架不同的是&#xff0c;Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三…

vue项目的创建

运行第一个vue-cli应用程序 创建一个基于webpack模板的vue应用程序 vue init webpack 项目名根据自己需求选择 创建好之后如下 运行 cd vue01npm run dev运行之后如下 复制访问地址 &#xff1a; http://localhost:8080 停止服务 两次ctrlC 或者 一次ctrlc然后y idea中使用…

【深度学习】神经网络实战分类与回归任务

第一步 读取数据 ①导入torch import torch ②使用魔法命令&#xff0c;使它使得生成的图形直接嵌入到 Notebook 的单元格输出中&#xff0c;而不是弹出新的窗口来显示图形 %matplotlib inline③读取文件 from pathlib import Path import requestsDATA_PATHPath("dat…

翻译:How do I reset my FPGA?

文章目录 背景翻译&#xff1a;How do I reset my FPGA?1、Understanding the flip-flop reset behavior2、Reset methodology3、Use appropriate resets to maximize utilization4、Many options5、About the author 背景 在写博客《复位信号的同步与释放&#xff08;同步复…

Linux调试器-gdb的使用简介

1、背景 程序的发布方式有两种&#xff0c;debug模式(给程序员用的)和release模式(给用户用的)Linux gcc/g出来的二进制程序&#xff0c;默认是release模式要使用gdb调试&#xff0c;必须在源代码生成二进制程序的时候&#xff0c;加上 -g 选项 注&#xff1a;debug模式产生的…