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

这篇具有很好参考价值的文章主要介绍了第三次ACM校队周赛考核题+生活随笔。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本周ACM校队周赛考核题

1.简单数学(签到题)

题目:

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

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

第三次ACM校队周赛考核题+生活随笔,周记生活,java,算法,开发语言,生活 

代码 


import java.util.Scanner;

public class Main{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Scanner 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要么 都是偶数,要么 都是奇数。

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

 第三次ACM校队周赛考核题+生活随笔,周记生活,java,算法,开发语言,生活

第三次ACM校队周赛考核题+生活随笔,周记生活,java,算法,开发语言,生活 

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

代码:

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

第三次ACM校队周赛考核题+生活随笔,周记生活,java,算法,开发语言,生活

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

 

圆面本身是一个部分;

  第一条直线只能穿过一个部分(圆面本身),画第一条直线时圆面加一个部分,圆面最多分成(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)](块)

也就是第三次ACM校队周赛考核题+生活随笔,周记生活,java,算法,开发语言,生活

因此,代码如下

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

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

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

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

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

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

第三次ACM校队周赛考核题+生活随笔,周记生活,java,算法,开发语言,生活

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

偶,对了,收到了 全国大学生英语竞赛的省级二等奖证书了,是上学期的比赛了,开心开心,继续加油文章来源地址https://www.toymoban.com/news/detail-737740.html

到了这里,关于第三次ACM校队周赛考核题+生活随笔的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL第三次实验

    接实验2 目录 一、数据库的单表查询和连接查询 1.查询各位学生的学号、班级和姓名 2.查询课程的全部信息  3.查询数据库有哪些专业班级  4.查询学时数大于60的课程信息 5.查询在1986年出生的学生的学号、姓名和出生日期  6.查询三次作业的成绩都在80分以上的学号、课程号

    2023年04月08日
    浏览(40)
  • 第三次博客作业

    这是第三次博客作业,总结了近三次PTA大作业的完成情况,作业7、8次的大作业的小题目围绕着HashMap、ArrayList和自定义接口来展开,大题目则是课程成绩程序的第二次第三次迭代,因为第一次课程成绩的程序写的结构不太好,于是重新写的,第三次迭代并没有拿到满分,后面

    2024年02月05日
    浏览(43)
  • IP第三次作业

    实验拓扑及要求如图所示:  我连接的拓扑:   实验思路: 1.按图示配置设备IP地址 2.使用路由协议让私网公网全网通 3.配置pap,chap,HDLC封装 4.配置MGRE,GRE 5.配置RIP协议 6.配置NAT,使得访问内网环回   实验开始: 1.IP 配置: R1 : Huaweisys Enter system view, return user view with Ctrl+Z.

    2024年04月10日
    浏览(36)
  • Python第三次作业

    周六 1. 求一个十进制的数值的二进制的0、1的个数 2. 实现一个用户管理系统(要求使用容器保存数据)         [{name: xxx, pass: xxx, ……},{},{}]  3. 求1~100之间不能被3整除的数之和  4. 给定一个正整数N,找出1到N(含)之间所有质数的总和 5. 计算PI(公式如下:PI=4(1-1/3+

    2024年04月10日
    浏览(69)
  • Linux第三次课后作业

    1.使用while和until语句编写脚本程序,计算1到100的和。 2.编写脚本程序备份用户指定的文件,将文件备份到目录名 _backup中(若目录不存在则自动建立),备份文件的文件名格式为文件名_bak_年月日_时分秒。 3. 编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作

    2024年01月17日
    浏览(43)
  • 百度松果菁英班--oj赛(第三次)

    **题目:**假期快到了,小码哥在宾馆打暑假工。 小码哥需要处理接下来n天的住房信息,其中第i天宾馆有ri个房间可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示需要从第sj天到第tj天住房(包括第sj天和第tj天),每天需要出租dj个房间。 宾馆入

    2024年02月03日
    浏览(40)
  • 云计算第三次笔记(DHCP)

    DHCP-动态主机配置协议-UDP协议 67/68端口 典型的C/S架构协 DHCP客户端-----需要获取IP的设备                  DHCP服务器-----需要发放IP的设备 第一种获取IP地址的: DHCP客户端向 DHCP服务器去要地址----- 广播   源IP:0.0.0.0(代表自己)   目标IP:255.255.255.255  源MAC:自己

    2024年02月04日
    浏览(34)
  • MySQL第三次作业-多表查询

    目录 1.实验需求 2. 实验步骤: 1、根据上述实验需求可知,要查询数据表中的内容,首先要创建一个db_school数据库并使用。 2、然后创建 student和score表 3.接下来给student和score表插入数据 (1)向student表插入数据 (2)用 select * from student; 查看student表中数据来验证数据是否插

    2024年01月20日
    浏览(43)
  • 第三次CCF计算机软件能力认证

    第一题:门禁系统 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。 每位读者有一个编号,每条记录用读者的编号来表示。 给出读者的来访记录,请问每一条记录中的读者是第几次出现。 输入格式 输入的第一行包含一个整数 n,表示涛涛的记录条数。

    2024年02月15日
    浏览(43)
  • 面向对象程序设计第三次bolg

    本次博客针对面向对象程序设计的课程所发的PTA作业7,8以及期末考试中的面向对象编程题的分析和总结,重点介绍课程成绩统计程序系列题目以及期末考试的编程题。 在这次作业中7-1、7-2内容和考点相同,在此我分析一下7-2Hashmap的排序这个问题。 7-2 容器-HashMap-排序 分数

    2024年02月05日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包