ACM团队招新赛题解
标程代码全部为C语言编写。代码中的#if LOCAL_ 至#endif为本地一些调试内容,可以忽略。
Xenny的A+B(1)【容易】【签到】
签到题,做不出的话可能你有点不太适合ACM了。

Xenny的A+B(2)【容易】【签到】
也没什么好说的,用一个循环控制输入的次数就行了

Xenny的A+B(3)【困难】【模拟】
这是本次比赛最难的题目,用意在于赛后你们看见此题题解可以开拓一下思维方式,不要局限于中学的思维,要掌握计算机。
乍一看这题没法做,怎么去存A和B两个这么大的数字,但我们可以用数组存储这两个数字,然后模拟手算,一位一位的相加,满10进位,使用数组模拟的方式便可以很快的解决掉这道题目。值得注意的是char数组存储的是ASCII码,注意之间转换。
注:scanf中的第一个%s前的空格不是没有意义的,它是为了吸收缓冲区的东西,防止造成错误。



Xenny的三角形(1)【容易】【签到】
三角形任意两边之和大于第三边,根据这个判断即可。

Xenny的三角形(2)【简单】【枚举】
直角三角形满足勾股定理,而且这道题数据范围不大。
直接循环枚举1至C的每个数i,再判断sqrt(C^2 - i^2)是不是一个整数即可。
注意输出条件!输出的时候得判断一下哪个数小一点,先输出较小数字。


Xenny的三角形(3)【一般】【思维】
题意即为给你RT三角形的一条直角边A,找B和C。
直接运用勾股数的定义求即可。此题若不知道勾股数的相关规律较难,但也不难找出规律。

了解规律后,这题变得很简单了。直接套用即可,同时判断一下B,C是否合法。


Xenny的数学题(1)【简单】【思维】
L大于等于4;
当L为偶数时,一定可以拼出矩形,最大面积即为最接近正方形的时候。
当L为奇数时,肯定不能拼一个没有多余部分的矩形。

Xenny的数学题(2)【简单】【简单数学】
直接计算僵尸走到植物面前需要几秒,每秒承受一颗豆子,判断能否射死僵尸即可。

Xenny的数学题(3)【一般】【简单几何】
这题应该算简单题,但涉及到精度计算,还是归为一般算了。
高中数学知识,两种方式,建坐标系或者几何法。下面给出几何法的过程。
不要看过程运算量大,计算机的存在就是帮你运算。所以也希望各位能从这道题中领悟些东西。

代码1:

代码2:

代码3:


Xenny的数字【简单】【思维】
就是让你找到三个数a+b+c = x,而且都不是3的倍数。
令a = 1;
如果x-2不是三的倍数,则1,1,x-2满足题意;
如果x-2是三的倍数,那么x-3肯定不是三的倍数,此时1,2,x-3满足题意。

Xenny的防AK题【一般】【位运算+思维+猜】
为什么说这道题一般呢,如果我把数据范围开大一点这道题肯定就是非常困难的题目了。但我的每个数字Ai-th都是小于1e7的,所以你可以开一个1e7的数组存储每个数字出现的次数,最后再遍历一遍寻找出现次数为奇数次的数字即可,不管是空间还是时间限制都是允许的。如果你没有做出这道题,可以尝试用这种方法解决这道题。
正解是需要用到异或位运算操作,何为异或,自行搜索。
异或有这么一个性质:A^B^B = A;
根据这个性质,我们在输入的时候把每个值都异或。最后的得到的Num即为我们要求的两个数字A,B的异或值,现在要做的就是如何分解得到两个数。
Num中一定有不为0的二进制位置(易理解),假设第k位不为0,则A或B的第k位不为0,数组中的其余的数若有第k位不为0的数对,则A或B与这些数对异或,可以得到A或B,最后再让此数与Num异或,则得到另外一值。

还是再给你们写一下用第一种方法解决的代码

还有一点,我说了这道题目我只给了一组数据,而且范围在[600,800]之间,你有猜到我的答案吗?没错,就是760,所以你直接输出760也可以AC掉这题。
- S.可能你们知道while(scanf(...) != EOF)是多组输入,但我的题解中多用while(~scanf(...)),~其实就是取非符号,每个语句都是有返回值的,!= EOF这种方式就是说scanf的返回值不能是EOF,而~EOF恰好等于0,二者是等价的,所以可以这样进行多组输入。具体关于EOF以及~操作的解释各位可以自行搜索。
ACM团队招新赛题解的更多相关文章
- 2019级第一次月赛暨ACM工作室第一次招新赛、补题赛
A:最简单签到,没有之一 Description 此题简单如题意,就是求最大值 Input 多组输入 每组输入输入一串字符串(包括字母和数字),长度小于500 Output 每行输出字符ASCII值与 ...
- 0RAYS元旦招新赛
一共有4道pwn题,题目不算难,但是挺考验调试能力的. pie 一个main函数就四次溢出... 第一次leak canary,第二次leak libc,第三次直接覆盖返回地址为one_gadgets ...
- 华南师大 2017 年 ACM 程序设计竞赛新生初赛题解
题解 被你们虐了千百遍的题目和 OJ 也很累的,也想要休息,所以你们别想了,行行好放过它们,我们来看题解吧... A. 诡异的计数法 Description cgy 太喜欢质数了以至于他计数也需要用质 ...
- 2015 ACM / ICPC 亚洲区域赛总结(长春站&北京站)
队名:Unlimited Code Works(无尽编码) 队员:Wu.Wang.Zhou 先说一下队伍:Wu是大三学长:Wang高中noip省一:我最渣,去年来大学开始学的a+b,参加今年区域赛之 ...
- jeecg团队招新人(5人)
jeecg团队招新人(5人) http://www.jeecg.org/forum.php? mod=viewthread&tid=2046&page=1&extra=#pid ...
- 《ACM国际大学生程序设计竞赛题解Ⅰ》——基础编程题
这个专栏开始介绍一些<ACM国际大学生程序设计竞赛题解>上的竞赛题目,读者可以配合zju/poj/uva的在线测评系统提交代码(今天zoj貌似崩了). 其实看书名也能看出来这本书的思路,就 ...
- 团队 / Staff_VidaMiaTangoClub_新浪博客
团队 / Staff_VidaMiaTangoClub_新浪博客 团队 / Staff
- JEECG开源团队招募新成员 2014年
JEECG开源团队招募新成员 2014年 截止日期:2014-06-01 JEECG开源项目 是一款基于代码生成器的微云高速开发平台.提供企业高速开发和採用微信实现移动应用的解决方式.J ...
- 第六届蓝桥杯软件类省赛题解C++/Java
第六届蓝桥杯软件类省赛题解C++/Java 1[C++].统计不含4的数字统计10000至99999中,不包含4的数值个数.答:暴力循环范围内所有数字判断一下就是了,答案是52488 1[Java]. ...
随机推荐
- HashMap与ConcurrentHashMap在Java8的改进
链接:http://www.cnblogs.com/huaizuo/archive/2016/04/20/5413069.html#undefined http://www.cnblogs.com/h ...
- 面试java后端面经_2
1 自我介绍(介绍一下帅气的自己哦) 2 对象深浅复制(浅复制:对象内引用的对象不会复制,深复制会把引用对象复制.如何进行深浅复制,这块不懂的童鞋可以百度一下) 3 wait方法和sleep方法的区别 ...
- Linux 使用命令 1
fold : Usage: fold [OPTION]... [FILE]...Wrap input lines in each FILE (standard input by default), w ...
- 部分APP无法代理抓包的原因及解决方法
引言 HTTP应用层的抓包已经成为日常工作测试与调试中的重要一环,最近接触新项目突然之间发现之前的抓包手段都不好使了,顿时模块与模块之间的前端与服务之间的交互都变成了不可见,整个人都好像被蒙住了眼睛. ...
- GRPC快速入门
转载请注明来自ChenJiehua的<GRPC快速入门> GRPC是一个高性能.通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的开发语言. 概述 ...
- Docker进阶-资源管理Swarm+Portainer
Docker Swarm资源管理 Docker Swarm是Docker官方三剑客项目之一,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案. 使用它,用户可以将多个Do ...
- 关于c++中的复合类型
目录 数组 字符串 结构体 共用体 枚举 指针 数和指针的关系 常见的存储方式 数组替代品 一.数组 存储在每个元素中值的类型 数组名 数组中的元素数 通用格式:typename arrayname ...
- 02 http和https协议
1. HTTP协议 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, 是用于从万维网(WWW:World Wide Web )服务器传输超文本到本 ...
- 最小生成树详细讲解(一看就懂!) & kruskal算法
0.前言 因为本人太蒟了 我现在连NOIP的初赛都在胆战心惊 并且我甚至连最小生成树都没有学过 所以这一篇博客一定是最详细的QAQ 哈哈 请您认真看完如果有疏漏之处敬请留言指正 感谢! Thanks♪ ...
- @WebInitParam注解
Servlet注解——@WebInitParam多个InitParam的写法 使用@WebInitParam配置多个InitParam,使某些页面不被拦截.在过滤器Filter.java下添加注解:@ ...