南邮2014程序设计新生赛暨蓝桥杯校内自主选拔赛
题目链接:  http://acm.njupt.edu.cn/acmhome/contest.do?&method=contestDetail&contestId=213

好奇的奥利安娜

时间限制(普通/Java):1000MS/3000MS         运行内存限制:65536KByte
总提交:333          测试通过:99

描述

发条魔灵奥利安娜,拥有不俗的线上能力与恐怖的团战大招的她以前却一直坐着联盟冷板凳,直到遇到了一位被世人称为宇宙第一中单“中路杀神”的召唤师——龙怨天(Yuantian Dragon)

在某一次比赛中,龙怨天使用奥利安娜共释放了4次大招,造成了爆炸伤害。比赛结束后,他突然想知道4次大招共造成了多少伤害,当然,要是全部空大,那么就完成了发条的终极成就——“四大皆空”;

龙怨天以肉松饼为报酬,请你帮帮他,你能解决吗?

输入

先输入一个正整数T,表示共有T组测试样例(1≤T≤100)

对于每一个测试样例,输入4个整数,第i个数pi,表示第i次大招造成的伤害(0≤pi≤10000)

输出

对于每一个样例,输出4次大招的伤害总值,如果4次大招均未造成伤害,则输出"sidajiekong";

样例输入

2
1 2 3 4
0 0 0 0

样例输出

10
sidajiekong

呵呵

#include <cstdio>
int main()
{int n,a,b,c,d;scanf("%d", &n);while(n--){scanf("%d%d%d%d", &a, &b, &c, &d);if(a + b + c + d == 0)printf("sidajiekong\n");elseprintf("%d\n", a+b+c+d);}
}

突发奇想的茂凯

Time Limit(Common/Java):1000MS/3000MS         Memory Limit:65536KByte
Total Submit:106          Accepted:26

Description

扭曲树精茂凯,英勇无畏的他每次战斗之后都会散落一些树枝,怀旧的他都将其收藏了起来,看做是自己胜利的勋章,已知总共收藏了n根树枝,且第i根树枝长为ai

有一天,茂凯突发奇想——要是从中选出3根树枝,组成周长尽可能大的三角形,最大的可能周长为多少?

Input

首先输入一个正整数T,表示有T组数据(1≤T≤100)

对于每组数据,先输入一个正整数n,表示茂凯收藏了n根树枝(3≤n≤20)

然后再输入n个正整数,对于第i个数,表示第i根树枝长为ai,(1≤ai≤100000)

Output

对于每组测试数据,输出最大周长三角形的周长,若给出的树枝均无法构成三角形,请输出-1;

Sample Input

2
5
2 3 4 5 10
4
4 5 10 20

Sample Output

12
-1

继续呵呵

#include <cstdio>
#include <algorithm>
using namespace std;
int a[21];bool cmp(int a, int b)
{return a > b;
}bool judge(int a, int b, int c)
{if(a + b > c && a + c > b && b + c > a)return true;return false;
}int main()
{int T, ma;scanf("%d", &T);while(T--){int n;ma = -1;scanf("%d", &n);for(int i = 0; i < n; i++)scanf("%d", &a[i]);sort(a, a + n, cmp);for(int i = n - 1; i >= 0; i--)for(int j = i - 1; j >= 0; j--)for(int k = j - 1; k >= 0; k--)if(judge(a[i], a[j], a[k]))ma = max(ma, a[i] + a[j] + a[k]);printf("%d\n", ma);}
}

马尔扎哈的疑惑

Time Limit(Common/Java):1000MS/3000MS         Memory Limit:65536KByte
Total Submit:160          Accepted:27

Description

众所周知,虚空先知马尔扎哈的被动技能可以召唤宠物用来辅助战斗,但可惜的是,宠物数量最多只能有3个,显然,这不够强力。

最近,通过马尔扎哈的不懈努力,终于改进了这个技能——他第1秒时只有一个宠物,该宠物每过一秒又可以生出一个新宠物,而新宠物从他出生的第3秒开始,每过一秒也可以生出一个新宠物,新的宠物也以此类推。

请问,在第n秒时,马尔扎哈总共有多少个宠物?

Input

先输入一个正整数T,表示样例个数,1≤T≤100;

对于每一个测试样例,输入一个正整数n,表示第n秒,1≤n≤55。

Output

对于每一个测试样例,输出第n秒时,马尔扎哈拥有的宠物数。

题目保证结果在int范围内。

Sample Input

2
4
5

Sample Output

4
6

呵呵呵

#include <cstdio>
int a[60];
int main()
{int n;scanf("%d", &n);int x;a[1] = 1;a[2] = 2;a[3] = 3;for(int i = 4; i <= 100; i++)a[i] = a[i - 1] + a[i - 3];while(n--){scanf("%d", &x);printf("%d\n",a[x]);}
}

大发明家的童年

Time Limit(Common/Java):1000MS/3000MS         Memory Limit:65536KByte

Total Submit:28          Accepted:4

Description

多少年后,当大发明家黑默丁格超神的那一刻,准会想起父亲着带他学习《通信原理》的那个下午;

数字信号是由01构成的数字串,传输数字信号的时候会先经过转码处理然后进行传输,下面给出两种码的说明:

AMI码:信号码中信号0不变,信号1交替变成+1,-1,(这里我们规定第一个1变为-1)

1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 改写成AMI码之后就成为了:

-1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1

HDB3码:检查信息码中连"0"的个数,若连"0"个数小于3,则HDB3码与AMI码完全相同

当出现4个以上连"0"的时候,每4个连"0"变为000V,V的极性与前一个非0码极性相同,

相邻V之间的极性必须相反,所以如果相邻V之间1码的个数为偶数,则后一段000V变为B00V,B的极性与前一个非0码相反,V的极性要与该B相同,同时后面的非0码的极性也要从V码开始再交替变化,即后面的1要根据最后的V的极性进行交替

现在给定一串信息原码,求修改之后的HDB3码。

(顺带一提,出题人绝对不是抱着被通原虐了然后想要虐大家这样邪恶想法才出这道题的,绝对..(^.^))

Input

单组样例,先输入一个正整数n,表示信息原码的长度,4≤n≤100;

接着,输入n个整数,表示由0,1组成的数字表示信息原码的构成。

题目保证第一段4连“0”之前肯定会有1。

Output

输出一行:根据条件分别输出0,-1,+1,+B,-B,+V,-V,互相之间用空格隔开,最后一个码后面不要空格。

Sample Input

18
1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1

Sample Output

-1 0 0 0 -V +1 0 0 0 +V -1 +1 -B 0 0 -V +1 -1

小模拟,暴力模拟

#include <cstdio>
char str[205];
int main()
{int n;scanf("%d", &n);getchar();for(int i = 0; i < 2 * n - 1; i++)scanf("%c ", &str[i]);scanf("%c", &str[2 * n - 1]);for(int i = 0; i < n; i ++)if(str[i] == '0' && str[i + 1] == '0' && str[i + 2] == '0' && str[i + 3] == '0')str[i + 3] = 'V';int cnt;for(int i = 0 ; i < n; i++){cnt = 0;for(int j = i + 1; j < n; j++){if(str[i] == 'V' && str[j] == 'V'){for(int k = i; k <= j; k++)if(str[k] == '1')cnt++;if(cnt % 2 == 0){str[j - 1] = str[j - 2] = '0';str[j - 3] = 'B';}break;}}}bool flag = true;for(int i = 0; i < n - 1; i++){if(str[i] == '0')printf("%c ", str[i]);else{if(str[i] == '1' && flag){printf("-1 ");flag = !flag;}else if(str[i] == '1' && !flag){printf("+1 ");flag = !flag;}else if(str[i] == 'V' && !flag)printf("-V ");else if(str[i] == 'V' && flag)printf("+V ");else if(str[i] == 'B' && !flag){printf("+B ");flag = !flag;}else if(str[i] == 'B' && flag){printf("-B ");flag = !flag;}}}if(str[n-1] == '0')printf("0\n");else if(str[n-1] == '1' && flag)printf("-1\n");else if(str[n-1] == '1' && !flag)printf("+1\n");else if(str[n-1] == 'V' && !flag)printf("-V\n");else if(str[n-1] == 'V' && flag)printf("+V\n");
}

爱魔法的露露

Time Limit(Common/Java):1200MS/4000MS         Memory Limit:65536KByte
Total Submit:55          Accepted:7

Description

仙灵女巫露露,对于魔法的热忱可是超出常人,要是发现了什么上古遗留下的魔法,她总是想方设法地获得,然后研究分析。而最近,他又从邪恶小法师维嘉那里获得了一个“奇怪”的魔法卷轴;

这个魔法卷轴上有一大串数字,而且根据卷轴上的描述,这个魔法的威力指数来自于这一串数字中“魔法区间”的数量;

所谓“魔法区间”指的是一段连续的闭区间,且这段区间上的所有数字均不相同;

现在,露露想知道这个魔法的威力指数,你能帮帮她么?

Input

先输入一个正整数T,表示样例个数,1≤T≤10。

对于每一个样例,先输入一个正整数n,表示卷轴上的数字个数(1≤n≤106);

再输入n个整数,第i个数ai,表示卷轴上第i个数(0≤ai≤106)。

Output

对于每个样例,输出一个正整数,即威力指数。

题目保证结果在int范围内。

Sample Input

1
3
1 2 3

Sample Output

6

Hint

  1. 读入数据请使用 scanf();

  2. 对于样例,共有{1},{2},{3},{1,2},{2,3},{1,2,3},6个魔法区间,所以威力为6。

hash + 线性两点扫

#include <cstdio>
#include <cstring>
int const MAX = 1e6 + 5;
int a[MAX], hash[MAX];
int main()
{int T;scanf("%d", &T);while(T--){int n;scanf("%d", &n);memset(hash, 0, sizeof(hash));for(int i = 1; i <= n; i++)scanf("%d", &a[i]);int ed = 1, st = 1;int ans = 0;for( ; ed <= n; ed++){if(!hash[a[ed]])hash[a[ed]] ++;elsebreak;}while(st <= n){hash[a[st]] --;ans += ed - st;st++;for( ; ed <= n; ed++){if(!hash[a[ed]])hash[a[ed]] ++;elsebreak;}}printf("%d\n", ans);}
}

赵信的往事

Time Limit(Common/Java):1000MS/3000MS         Memory Limit:65536KByte
Total Submit:29          Accepted:9

Description

赵信——德玛西亚的总管,可谓一人之下,万人之上。但谁能想到,他以前在诺克萨斯的角斗场过的是怎样的生活?

那时,成千上万的奴隶或战俘被抓进角斗场,通过血腥的杀戮供贵族们取乐。所以,为了活下去,除了自身的实力之外,拉帮结派也是必不可少的。显然,这样的事只可能发生在互相信赖的人的中间,而在当时,人们互相信赖的标准却很奇怪——每个人都有一个编号,若两个人可以相互信赖,那么当且仅当这两个编号的素因子集合相同。

那么问题来了:

现在有三个人想组团,请问他们能相互信赖么?

Input

先输入一个正整数T,表示共有T组测试样例,1≤T≤10000。

对于每一个测试样例,输入三个正整数,对于第i个数pi,表示第i个人的编号(1≤pi≤109)。

Output

对于每组样例,如果可以可以成功组团,则输出“YES”,否则输出“NO”。

Sample Input

2
3 6 9
3 9 27

Sample Output

NO
YES

Hint

对于样例一,6的素因子集合为{2,3},与其他人不同,所以不行;

对于样例二,所有数的素因子集合均为{3},因此可以组团。

无限gcd

#include <cstdio>
#include <algorithm>
using namespace std;
int a[5], flag;int gcd(int a, int b)
{return b ? gcd(b, a % b) : a;
}void cal(int x,int y)
{int tmp;if(x == 1 && y == 1) return;tmp = gcd(x, y);x /= tmp;y /= tmp;if(x == 1 && y == 1) return;else if(tmp == 1 && y % x != 0){flag = 0;return;}elsecal(x, g);return;}int main()
{int T;scanf("%d",&T);while(T--){flag = 1;scanf("%d %d %d", &a[0], &a[1], &a[2]);sort(a,a+3);cal(a[0],a[1]);cal(a[1],a[0]);if(flag) {cal(a[0],a[2]);cal(a[2],a[0]);}if(flag)printf("YES\n");elseprintf("NO\n");}
}

南邮2014程序设计新生赛暨蓝桥杯校内自主选拔赛相关推荐

  1. 华为杯大学生计算机软件大赛,关于举办2018年西安电子科技大学程序设计网络赛暨第十六届“华为杯”大学生程序设计竞赛的通知...

    各学院: 程序设计是大学生运用计算机充分展示自己分析问题和解决问题能力的一个重要途径,对于培养大学生实践能力.团队意识.创新意识.顽强意志和综合素质具有显著作用和效果.为了推动这项创新性素质教育活动的 ...

  2. 2014年 第5届 蓝桥杯 Java B组 省赛解析及总结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:部分 ...

  3. 南邮java实验_南邮JAVA程序设计实验4 线程程序设计(指针式时钟)

    南邮JAVA程序设计实验4  线程程序设计(指针式时钟) 实验目的: 本实验旨在通过实验,培养学生将JAVA 线程的相关知识点(包括线程调度,线程同步等)有机结合并加以综合应用,在实验中设计多线程程序 ...

  4. 21级爪哇程序设计新生赛(二)题解

    21级爪哇程序设计新生赛(二) 序 A 小爪的数字集合(并查集) B 小爪的得分(博弈) C 小爪的博弈(博弈) D ljc和cyj玩五子棋(模拟) E ljc和雪球(模拟) F LJC的背包(动态规 ...

  5. 2021暨南大学轩辕杯ACM程序设计新生赛题解

    title : 2021暨南大学轩辕杯ACM程序设计新生赛 date : 2021-12-12 tags : ACM,练习记录 author : Linno 题目链接:https://ac.nowco ...

  6. 2019燕山大学程序设计新生赛(二)

    2019燕山大学程序设计新生赛(二) 绝地武士 参考代码 织梦岛 参考代码 谍战风云 参考代码 绝地武士 天赋异禀的绝地武士安纳金·天行者受西斯大帝达斯·西迪厄斯蛊惑,堕入原力黑暗面,随后被派去绝地圣 ...

  7. 20级爪哇程序设计新生赛(一)题解

    20级爪哇程序设计新生赛题解 20级爪哇程序设计新生赛1.0(正式赛) A.The Tree Of LittleZhua(思维或者线段树) Easy Version Hard Version B.小爪 ...

  8. 第十四届蓝桥杯校内模拟赛第二期-Java个人题解(仅供参考)

    刚刚结束第十四届蓝桥杯校内模拟赛第二期,在这记录下自己的代码 不保证正确! 不保证正确! 不保证正确! 有问题一起改正!! 题解 2048 代码: package _14届模拟2;public cla ...

  9. 蓝桥杯校内模拟赛_C++组

    蓝桥杯校内模拟赛 填空题 填空题比较简单,只需要在空格中填写整数答案即可: 在计算机存储中,15.125GB是多少MB? 解题思路: 1GB=1024MB,打开系统计算器计算即可 答案: 15488 ...

最新文章

  1. 关于全国大学生智能汽车竞赛 参赛队员信息的情况说明
  2. 将jar文件做成exe可运行文件
  3. blender怎么移动骨骼_日本这款人形机器人竟是多个机器人乐队的前辈!拥有人类骨骼,还会击鼓...
  4. [loj6391][THUPC2018]淘米神的树(Tommy)
  5. HTML<div>标签、<img>标签
  6. [转载] python flask实现分页
  7. linux显示磁盘使用情况命令,Linux查看磁盘使用情况命令(示例代码)
  8. 网上偶看一文,有感。特贴在下面。
  9. java kernel32.dll,关于kernel32.sys病毒的问题
  10. 【伯猫Java教程】网页游戏开发过程——环境搭建
  11. C#绘制CIE1931色度图
  12. 数据库学习——SQL之SELECT查询语句
  13. 常用工具类之十一 XML报文加签工具类 http://www.w3.org/2000/09/xmldsig
  14. 苹果乔布斯的成功启示,看完要被惊醒!
  15. windows不能更改密码
  16. Hero鹏——只为挖坑而生
  17. dellr420部署os_dell r720服务器OS部署
  18. 豆瓣 vs 知乎 vs 简书
  19. 关于心跳包的实现手法
  20. github、码云的使用

热门文章

  1. 兼容性超好的大机箱,还能装点更多RGB灯效,TT挑战者H5体验
  2. 笔记助手-EasyNote
  3. 女人为啥不喜欢“老实男人”?
  4. css------div标签中居中的方式
  5. 联想微型计算机一体,联想发布两款 ThinkStation 微型主机:十代酷睿、容积仅 1L...
  6. java存储对象的数组_Java中数组可以存储对象吗?
  7. 日志冲突怎么解决?slf4j和log4j的区别?看完这一篇,这些都是小意思啦
  8. 帮我写一个paddleocr识别手写汉字程序
  9. 大智慧的扩展数据在那个目录
  10. Autodesk Maya 2023 三维动画建模软件中文正式版安装说明