第三次ACM校队周赛考核题+生活随笔

本周ACM校队周赛考核题

1.简单数学(签到题)

题目:

Joker想要买三张牌,但是三张牌太少了,老板不卖,除非Joker算出老板给出的数学题。

现在老板给出t组数据,每一组数据有三个数a,b,c,要计算出每一组数据三个数相加是否是3的倍数,是的话就输出”Yes”,否则就输出”No”.

 

代码 


import java.util.Scanner;public class Main{public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner=new Scanner(System.in);int n=scanner.nextInt();int arr[][]=new int[n][3];for(int i=0;i<n;i++) {for(int j=0;j<3;j++) {arr[i][j]=scanner.nextInt();}}for(int i=0;i<n;i++) {long sum=0;for(int j=0;j<3;j++) {sum+=arr[i][j];}if(sum%3==0) {System.out.println("Yes");}else {System.out.println("No");}}}}

2.奇奇偶偶

题目:

Joker今天学完了数组,他发现在数组上面可以进行很多有意思的操作,现在他想对一个长度为n的数组a进行以下操作:

将两个元素 ai和 aj 互换,使得 i≠j、ai和 aj要么 都是偶数,要么 都是奇数。

他想知道是否可以通过执行任意次数(可能为零)的操作对数组进行非递减排序。

 

 

 分析:由于偶数只能和偶数交换,奇数只能和奇数交换,因此只需要判断排序后的数组,跟原来的数组 相比,每个位置上的奇偶性是否改变,如果没有改变,证明可以通过任意次数的操作对数组进行非递减排序,

代码:

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int t = sc.nextInt();while(t-->0){int n = sc.nextInt();int[] a = new int[n];int[] x = new int[n];for(int i = 0 ;i< n;i++){a[i] = sc.nextInt();x[i] = a[i];}Arrays.sort(a);boolean flag = false;for(int i = 0;i<n;i++){if(a[i] % 2 != x[i] % 2) flag = true;}if(flag) System.out.println("No");else System.out.println("Yes");}}
}

 3.圆的艺术(数学问题)

给定一个圆和n条直线,现在需要使用这n条线尽可能地把圆分成多份,问使用n条线最多能把圆分成几份?

输入描述:

第一行给定一个正整数T,代表数据组数。(T<=1e5)。

接下来T行,每行一个非负整数,代表线的数量。(<=1e6)

输出描述:

共T行,每行一个整数,代表n条线最多能把圆分成几份。

示例:输入 2   2  4   输出:  4   11

如果想要把圆分成的块数最多,那么增加的每一条线都不能过前面所有的交点,分析如下

 

圆面本身是一个部分;

  第一条直线只能穿过一个部分(圆面本身),画第一条直线时圆面加一个部分,圆面最多分成(1+1)=2(块);

  第二条直线只能穿过两个部分,画第二条直线时圆面加两个部分,圆面最多分成(1+1+2)=4(块);

  第三条直线只能穿过三个部分,画第三条直线时圆面加三个部分,圆面最多分(1+1+2+3)=7(块);

  第四条直线能穿过四个部分,画第四条直线时圆面力四个部分,圆面最多分(1+1+2+3+4)=11(块);

  依次类推可得,n条直线最多能将圆面分成[1+(1+2+3+4+…+n)](块)

也就是

因此,代码如下

import java.util.*;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int t = sc.nextInt();while(t-->0){long res = 0L;long n = sc.nextLong();System.out.println(n*(n-1) /2 + 1 + n);}}
}

4.又是时间问题

自从上一次,Joker解决完两个时间点的差值之后,他奋发图强努力学习,终于又遇到了一个问题,他家的时钟坏了,显示的时间不一定正确(即大小和顺序可能会出错),但是显示的时间(时钟,分钟,秒钟一定都是2位数的),所以他想请你帮他看看他家的时钟。现在给定t个字符串每个字符串都表示一个时间,现在要解决的问题是,判断每一个字符串表示的时间在经过换位后是否可以变成正确的时间,不可以的话就输出No,否则就计算出这个字符串所能表示的正确时间的最大时间的总秒数。

(注:正确时间: (0 <= |时钟| <= 23, 0 <= |分钟| <= 59, 0 <= |秒钟| <= 59))

 输入描述:

第一行输入一个正整数t表示组数;接下来t行每行一个字符串表示时间,

输出描述:

对于是正确的时间就输出,这个字符串所能表示的最大的正确时间的总秒数,否则就输出”No”;

例子:

输入;

3
12:20:60
20:23:40
00:20:30

输出

No
85220
73800

分析:考查的主要就是字符串转换为数字,最后判断一下

代码如下

import java.util.Arrays;
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int t = sc.nextInt();for (int i = 0; i < t; i++) {String s = sc.next();String[] split = s.split(":");Arrays.sort(split);int[] arr = new int[]{Integer.valueOf(split[0]), Integer.valueOf(split[1]), Integer.valueOf(split[2])};if (arr[0] >= 24 || arr[2] >= 60) {System.out.println("No");continue;}int cnt = 0;for (int j = split.length - 1; j >= 0; j--) {if (arr[j] <= 23) {cnt = j;break;}}if (cnt==0){System.out.println(arr[0]*3600+arr[2]*60+arr[1]);}else if (cnt==1){System.out.println(arr[1]*3600+arr[2]*60+arr[0]);}else{System.out.println(arr[2]*3600+arr[1]*60+arr[0]);}}}
}

总之,这周的题不是很难,主要是对基本功的考察,由此可见自己的基本功还是不是很扎实,需要好好练习

生活:

这周过的很忙,但是是那种虚无的忙,很讨厌这种感觉,其实,凡事,应该提前做好规划的,而不是总在等待deadline

向上的路总是难走的,因为它无时不刻磨练着一个人的意志力。

隔壁新乡学院的同学,再次联系到的时候,没想到已经考研上岸了,他说,这一路,真的很难走,从大一的挂四课被给家长打电话,到最后的考研上岸,整天整天的学,整夜整夜的熬,度过了疫情三年,度过了大洪水,每年只有春节的时候回家,那时候觉得根本看不到希望,也很迷茫,不知道路在哪里......。

总之,一路辛苦,以后,继续加油,追梦人。每个人都会去选择不同的路,但是,无论选择了哪条路,都应该静下心来去沉淀,去学习,遇到困难的时候,都应该告诉自己再往前一步,哪怕是自救还是借助他人的力量,而不是就此踌躇不前。

黎明之前最黑暗,谁先放弃谁笨蛋!

✨✨✨✨✨✨✨✨前面终有些光亮在等着你✨✨✨✨✨✨✨✨

 下周就要继续写项目了,还有每天一两道算法题,还有对vue的知识点的理解和掌握。

偶,对了,收到了 全国大学生英语竞赛的省级二等奖证书了,是上学期的比赛了,开心开心,继续加油

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基站/手机是怎么知道信道情况的?

在无线通信系统中&#xff0c;信道的情况对信号的发送起到至关重要的作用&#xff0c;基站和手机根据信道的情况选择合适的资源配置和发送方式进行通信&#xff0c;那么基站或者手机是怎么知道信道的情况呢&#xff1f; 我们先来看生活中的一个例子&#xff0c;从A地发货到B地…

在安装和配置DVWA渗透测试环境遇到的报错问题

安装环境 前面的安装我参考的这个博主&#xff1a;渗透测试漏洞平台DVWA环境安装搭建及初级SQL注入-CSDN博客 修改bug 1.首先十分感谢提供帮助的博主&#xff0c;搭建DVWA Web渗透测试靶场_dvwa 白屏-CSDN博客&#xff0c;解决了我大多数问题&#xff0c;报错如下&#xff1…

「全网独家」双11哪个牌子电视盒子好用?内行分享电视盒子排行榜

因为工作关系&#xff0c;每天都在跟各种类型的电视盒子打交道&#xff0c;双十一这段时间身边很多朋友问我电视盒子哪款好&#xff0c;哪个牌子的电视盒子好用&#xff1f;今天我将给大家分享的是业内目前最权威的电视盒子排行榜&#xff0c;跟着我一起看看入围的都有哪些品牌…

ElasticSearch 批量插入漏数据

项目场景&#xff1a; 项目中需要把Mysql数据同步到ElasticSearch中 问题描述 数据传输过程中数据不时出现丢失的情况&#xff0c;偶尔会丢失一部分数据&#xff0c;本地测试也无法复现&#xff0c;后台程序也没有报错&#xff0c;一到正式环境就有问题,很崩溃 这里是批量操…

关于pyinstaller执行报错的解决方案

已经安装好了pyinstaller&#xff0c;但是在终端执行时报错&#xff1a; pyinstaller : 无法将“pyinstaller”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置…

QMS质量检验管理|攻克制造企业质量检验难题,助力企业提质增效

在日益激烈的市场竞争中&#xff0c;对产品质量严格把关&#xff0c;是制造企业提高核心竞争力与品牌价值的关键因素。那如何高效、高质地完成产品质检工作&#xff1f;这就需要企业在工业质检中引进数字化技术加以辅助&#xff0c;进而推动智能制造高质量发展。 蓝库云QMS质量…

全志R128应用开发案例——适配SPI驱动ST7789V2.4寸LCD

SPI驱动ST7789V1.47寸LCD R128 平台提供了 SPI DBI 的 SPI TFT 接口&#xff0c;具有如下特点&#xff1a; Supports DBI Type C 3 Line/4 Line Interface ModeSupports 2 Data Lane Interface ModeSupports data source from CPU or DMASupports RGB111/444/565/666/888 vid…

jenkins实践篇(2)—— 自动打tag的可回滚发布模式

大家好&#xff0c;我是蓝胖子&#xff0c;在上一篇我简单介绍了如何基于特定分支做自动编译和发布&#xff0c;在生产环境中&#xff0c;为了更加安全和快速回滚&#xff0c;我采取的是通过对代码打tag的方式来进行部署&#xff0c;下面我将详细介绍整个发布过程的逻辑。 发布…

Android开发笔记(三)—Activity篇

活动组件Activity 启动和结束生命周期启动模式信息传递Intent显式Intent隐式Intent 向下一个Activity发送数据向上一个Activity返回数据 附加信息利用资源文件配置字符串利用元数据传递配置信息给应用页面注册快捷方式 启动和结束 &#xff08;1&#xff09;从当前页面跳到新页…

vmware--主机win11 samba 映射虚拟机ubuntu共享文件夹

参考链接 1.效果如下图 2.教程 2.1 win11开启 smb 忽略… 2.2 vmware–ubuntu 安装 samba sudo apt update sudo apt install samba2.3 vmware–ubuntu 验证 安装成功 ppan:~$ whereis samba samba: /usr/sbin/samba /usr/lib/x86_64-linux-gnu/samba /etc/samba /usr/sh…

基于ubuntu20.04 环境跑通LIO_SAM重定位

link 序言 作为LOAM重要的一个变种&#xff0c;LIO_SAM基本上算是这个系列里面知识点最全面。这个软件框架包含了去畸变、特征点提取&#xff08;角点、平面点&#xff09;、前端、后端、回环&#xff0c;同时软件框架还融合了IMU信息&#xff0c;可以配置融合GPS信息。当然这种…

常用编程语言排行与应用场景汇总(2023.10)

文章目录 编程语言排行一、Python二、C三、C四、Java五、C#六、JavaScript七、VB&#xff08;Visual Basic&#xff09;八、PHP九、SQL十、ASM&#xff08;Assembly Language&#xff09;十一、Go十二、Scratch十三、Delphi/Object Pascal十四、MATLAB十五、Swift十六、Fortran…

任意文件下载之漏洞复现

0x01 应用介绍 泛微e-office系统是标准、易用、快速部署上线的专业协同OA软件,国内协同OA办公领域领导品牌,致力于为企业用户提供专业OA办公系统、移动OA应用等协同OA整体解决方案 0x02 影响版本及语法特征 泛微e-offcie9 fofa&#xff1a;app”泛微-EOffice” && b…

在基于亚马逊云科技的湖仓一体架构上构建数据血缘的探索和实践

背景介绍 随着大数据技术的进步&#xff0c;企业和组织越来越依赖数据驱动的决策。数据的质量、来源及其流动性因此显得非常关键。数据血缘分析为我们提供了一种追踪数据从起点到终点的方法&#xff0c;有助于理解数据如何被转换和消费&#xff0c;同时对数据治理和合规性起到关…

gtsam初探以及结合LIO-SAM算法的一些理解

概述 GTSAM&#xff08;Georgia Tech Smoothing and Mapping&#xff09;是基于因子图的C库&#xff0c;本篇基于GTSAM对因子图优化做一个简单了解和梳理&#xff0c;并以LIO-SAM为例进一步分析因子图优化在SLAM中的应用。 参考链接&#xff1a; [0]gtsam官方文档 [1]https:/…

Android各版本对应的SDK及JDK版本要求

1、Android Gradle 插件版本说明 | Android 开发者 | Android Developers 2、 3、Android Gradle 插件 7.3.0&#xff08;2022 年 9 月&#xff09; | Android 开发者 | Android Developers 4、 5、参考 Android中Gradle版本和Gradle插件版本 - 简书

Spring IOC - ConfigurationClassPostProcessor源码解析

上文提到Spring在Bean扫描过程中&#xff0c;会手动将5个Processor类注册到beanDefinitionMap中&#xff0c;其中ConfigurationClassPostProcessor就是本文将要讲解的内容&#xff0c;该类会在refresh()方法中通过调用invokeBeanFactoryPosstProcessors(beanFactory)被调用。 5…

68 内网安全-域横向PTHPTKPTT哈希票据传递

目录 演示案例:域横向移动PTH传递-Mimikatz域横向移动PTK传递-Mimikatz域横向移动PTT传递-MS14068&kekeo&local国产Ladon内网杀器测试验收-信息收集,连接等 涉及资源: PTH(pass the hash) #利用lm或ntlm的值进行的渗透测试 PTT(pass the ticket) #利用的票据凭证TGT进行…

C++ Qt 学习(二):常用控件使用与界面布局

1. Qt 布局详解 ui 设计器设计界面很方便&#xff0c;为什么还要手写代码&#xff1f; 更好的控制布局更好的设置 qss代码复用 完全不会写 Qt 布局&#xff0c;很麻烦&#xff0c;怎么学会手写布局&#xff1f; 看 Qt 自己怎么写改良 Qt 的布局写法 1.1 水平布局 #include …

LVGL库入门 02 - 布局

1、简单布局 可以使用 lv_obj_set_pos(obj, x, y) 调整一个控件的位置&#xff08;或者使用类似的函数单独调整一个方向的坐标&#xff09;&#xff0c;将它放在相对父容器左上角的合适位置。不过这种布局方式非常死板&#xff0c;因为绝对坐标一旦设定就不能自动调整&#xf…