A

模拟签到题
判断平年还是闰年,然后输出365、366即可。

code

#include <stdio.h>
int main()
{int x;scanf("%d", &x);if (x % 400 == 0 || (x % 100 != 0 && x % 4 == 0)) {printf("366");} else {printf("365");}return 0;
}

B

题意

即有多少种构造方法,能够组成一个n位的幸运数字。

每一位要么是6要么是8,所以答案是 2 n 2^n 2n

code

#include <math.h>
#include <stdio.h>
int main()
{int n;scanf("%d", &n);printf("%.0lf", pow(2, n));return 0;
}

C

题意

当n为偶数时,毫无疑问可以一下取完。当n为奇数时,无论怎么取都会剩下一个奇数,使得对手可以一次下取完,所以判断n的奇偶性就可以。

code

#include <stdio.h>int main()
{int t;scanf("%d", &t);while (t--) {int n;scanf("%d", &n);if (!(n & 1) ) {printf("Happy Valley!\n");} else {printf("No!!!!\n");}}return 0;
}

D

题意

这是一道思维构造题,本以为难度在这场比赛为中等梯度,结果全场没有人开这道题。。。。
这类题目在icpc和codeforce中非常常见。

x是 小于等于a,b的最大整数,即是ab的最大公因数,x = gcd(a,b)。

即,构造一个a,b,x = gcd(a,b)。 使得 a,b,x 都在(L,R)内。

首先考虑x,x如果在LR范围内,那么a,b的取值范围是多少?
显然 a = k1 * x; b = k2 * x; (k1 != k2 且 k1,k2 ∈[0,正无穷] )
首先我们可以令k1 等于 1.那么 a == x, a满足在(L,R)内的条件.
那么对于b, 因为 k2 等于 1的时候已经符合条件了, 那么显然可以证明 k2 取 2 时是最符合条件的.
因为 x > L,那么 x 取 L + 1 时存在解的情况更多.
得其中一种构造方式, x = a = L + 1 , b = 2 * x

对于无解的情况
只需要判断 2*x 是否大于等于 R即可,如果是,则无解.

#include <stdio.h>
int main()
{int l, r;scanf("%d%d",&l,&r);int a = l + 1;int b = (l + 1) * 2;if (b > r) {printf("-1");} else {printf("%d %d %d", a, b, a);}return 0;
}

E

题意

分数化简,很明显只要求出两个数的最大公约数就行。比赛中没有卡暴力的写法,正解应该是gcd辗转相除法求gcd,复杂度logn

暴力做法

#include<stdio.h>
int main()
{int m,n,i;scanf("%d%d",&m,&n);for(i=m;i>=1;i--){if((m%i==0)&&(n%i==0)){m=m/i;n=n/i;break;}}printf("%d %d",m,n);return 0;
}

欧几里得辗转相除法做法

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
int gcd(int a,int b)
{if(b==0)return a;elsereturn gcd(b,a%b);
}
int main()
{int a,b;cin>>a>>b;cout<<a/gcd(a,b)<<" "<<b/gcd(a,b);return 0;
}

F

题意

字符串模拟,主要考察字符串处理能力。
观察大家WA的常见错误:
1.数组越界 s[100]只能存储0-99的字符,所以第100字符无法存储
2.c语言读入无空格字符串应用scanf("%s",s);

#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
using namespace std;
char s[105];
int main()
{scanf("%s",s);int len = strlen(s);for(int i=0;i<len;i++){if(s[i]<='z'&&s[i]>='a'){printf("%c",s[i]-'a'+'A');}if(s[i]<='Z'&&s[i]>='A'){printf("%c",s[i]-'A'+'a');}if(s[i]=='#'){printf("^.^");}}return 0;
}

G

题意

贪心+stl自定义排序的应用,根据题意,很明显用时越少的题目应越早尽快解决,这样才能使得用时长的题目所拖延的时间尽可能少,总时间尽可能少。由于数值相同的要根据输入顺序先后输出,所以我们还要自定义排序,排序后才能输出答案。

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;int n;
double sum;
struct stu
{int t;int id;
};
stu s[1005];bool cmp(stu x,stu y)
{if (x.t == y.t)return x.id < y.id; return x.t < y.t;
}int main(){cin >> n;for (int i = 1; i <= n; i++){s[i].id = i;cin >> s[i].t;}sort(s + 1, s + n + 1,cmp);for (int i = 1; i <= n; i++){cout << s[i].id << " " ;}//cout << endl;return 0;
}/*构建一个同时含有输入id和解题时常的结构体并对他们进行排序,先按照时间进行升序排序如果时间相同,则按照输入id进行降序排序
*/

BUU-ACM国庆新人欢乐赛题解相关推荐

  1. BNUZ-ACM 2018国庆新生欢乐赛题解

    目录 A.三角恋 B.台风闲聊 C.kuyee买奶茶 D.法师Knight可能很强大 E.看我一只穿云箭 F. 兔叽先生和长颈鹿女士 G.面积面积 H.所有人!都别过来! I.Everduo与星澈的合 ...

  2. BNUZ-ACM 2019国庆新生欢乐赛 E.如风般奔跑(题目详解+代码)

    原题链接:BNUZ-ACM 2019 E.如风般奔跑 BNUZ-ACM 2019国庆新生欢乐赛 E.如风般奔跑 题目 题目大意 这题题目的大意是:给你一个800米的环形跑道以及小陈和小张的速度,问你什 ...

  3. Comet OJ 2019 夏季欢乐赛题解

    Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n ...

  4. 2019BNUZ_ACM国庆欢乐赛题解

    目录 题目来源 : A.小沛的暑假安排 B.nsy上幼儿园 C.nsy上小学 D.怡姐的游戏 E.如风般奔跑 F.cjb找朋友 G. 黑魔仙wgc的攻击 H. 皓洲喜欢经纬线 I. 小枫买车 J. 单 ...

  5. BNUZ-ACM 2018国庆新生欢乐赛部分题解+思路(已解出答案部分)

    由于时间不足,本人在新生赛仅浏览了四题,其中两题完全通过. 下面是已解出的一题,供比对和取优. A. 三角恋 下面贴上原题: 我的思路: 首先需要一个while(scanf)循环,以供测试器循环测试各 ...

  6. 北师大珠海分校2017国庆欢乐赛题解

    我都老了还让我写这种题解. 约翰·洛吉·贝尔德 每次开k个电视,需要这k个电视的色彩都不一样 每种色彩需要一根信号源 现在问至少需要多少种信号源 那么我们可以找k个电视.他们都只用1个信号源,有不同颜 ...

  7. 2019年安徽大学ACM/ICPC实验室新生赛题解

    本文仅作个人收藏学习使用 题目及解析来源牛客竞赛网 //作者:王清楚 //链接:https://ac.nowcoder.com/discuss/351408?type=101&order=0& ...

  8. 2020 BNUZ 国庆欢乐赛 题解

    目录 A编程从这里开始 B维恩牌 C杰哥的崩三咸鱼生活 D顺时针还是逆时针? E黑摸仙wgc爱吃肠粉 F杯口朝上 G对称美 H小兔子下崽仔 I网络巨人在线锤人 J无所不知cwj K寻找福建人 A编程从 ...

  9. 北师大珠海分校2016国庆欢乐赛题解

    Amazing Score 这题长得跟基本的作业题很像,每次输入12个数,奇数位为学分a,偶数位为分数b,总的加权平均分为,然后当b小于60的时候特判一下,整组分数记为0即可 #include< ...

最新文章

  1. 应用案例 | Blink 有何特别之处?菜鸟供应链场景最佳实践
  2. 如何用体验赢取用户信任?让 Waymo 来教教你
  3. 查询linux大于200M的文件
  4. 日语输入法电脑版_日语输入法下载及使用教程【建议收藏】
  5. 服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
  6. pdf复制乱码_一键解决PDF转换问题,这个网站好用到爆!
  7. php 进制 小数,小数进制转换
  8. 洛谷P2016战略游戏
  9. python半年能达到什么程度_花半年的时间能把Python自学到什么程度?
  10. MCの生存游戏(洛谷P1867题题解,Java语言描述)
  11. 对命令行程序调用及其结果显示的一点补充
  12. express捕获全局异常的三种方法
  13. 大数据分析的作用与注意事项
  14. 教程:如何将一首歌生成一个二维码?
  15. JavaScript使用手册(一)
  16. Artificial Intelligence-人工神经网络
  17. 【UVM基础】工厂(factory)机制快速上手指南
  18. macos支持exfat吗_在移动硬盘中安装win10和macos双系统
  19. 【MySQL】<关系型数据库>Linux安装MySQL(无错完整)
  20. 解决spyder的input()方法出现TypeError: _show_prompt() got an unexpected keyword argument ‘separator‘的问题

热门文章

  1. python3爬取微博评论教程_用python 爬取微博评论,怎么打开微博评论下的查看更多|...
  2. 实时控制软件开发第二次作业总结
  3. Ubuntu 下查看DNS地址
  4. 《老梁四大名著情商课》笔记- 拒绝是战术,不是艺术
  5. 1375 灯泡开关 III
  6. IBM ILOG CPLEX Optimization Studio V12.9.0官方文档
  7. springboot-admin 整合nacos处理含有context-path的应用问题
  8. 区块链龙头股都有哪些?区块链概念股有哪些?
  9. 市面上微型计算机的主频,目前市面上最大屏幕的手机,你知道是哪款吗?
  10. java玫瑰花代码_Java版给爱人表白的玫瑰花程序代码