【Luogu】【关卡1-8】BOSS战-入门综合练习2(2017年10月)【AK】------都是基础题
P1426 小鱼会有危险吗
我个人觉得这个题目出的不好,没说明白,就先只粘贴的AC代码吧
#include <bits/stdc++.h>
using namespace std; int main() {
double s, x;
cin >> s >> x;
double start = s - x, endd = s + x; //探测器的范围
double speed = 7.0, length = 0.0;
//没有游到探测器范围之前
while(length < start) {
length += speed;
speed *= 0.98;
}
if (length + speed > endd) {
cout << "n" << endl;
}
else {
cout << "y" << endl;
} return ;
}
P1464 Function
对于一个递归函数w(a,b,c)
如果a<=0 or b<=0 or c<=0就返回值1.
如果a>20 or b>20 or c>20就返回w(20,20,20)
如果a<b并且b<c 就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)
其它别的情况就返回w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)
这是个简单的递归函数,但实现起来可能会有些问题。当a,b,c均为15时,调用的次数将非常的多。你要想个办法才行.
/*
absi2011 : 比如 w(30,-1,0)既满足条件1又满足条件2
这种时候我们就按最上面的条件来算
所以答案为1
*/
解答:记忆化,直接用个数组存了。
一开始全WA, 我还没想通为啥,后来发现有个条件是【如果a>20 or b>20 or c>20就返回w(20,20,20)】
这个放在一开始的主函数判断里面了,但是如果这个数比20大,就把这个数字=20.
但是假如这个元组是 (25, 3, 2) ------> 正确答案是 (20, 20,20)
如果按照我当时的算法就是 (25,3,2) ------> 就会变成 (20,3,2) 就会去计算这个数。
还有个错误点就是又踩内存了... 访问||更新数组之前一定要判断下标是否能取到。
#include <bits/stdc++.h>
using namespace std;
int w[][][] = {};
int cal(int a, int b, int c) {
if (a <= || b <= || c <= ) {
return ;
}
if (a > || b > || c > ) {
return cal(, ,);
}
if (w[a][b][c] != -) {
return w[a][b][c];
}
if (a < b && b < c) {
w[a][b][c] = cal(a, b, c-) + cal(a, b-, c-) - cal(a, b-, c);
return w[a][b][c];
}
w[a][b][c] = cal(a-,b,c) + cal(a-,b-,c) + cal(a-,b,c-) - cal(a-,b-,c-);
return w[a][b][c];
}
int main() {
memset(w,0xFF,sizeof(w));
long long a, b, c;
cin >> a >> b >> c;
while (a != - || b != - || c != -) {
int a1 = a > ? : a;
int b1 = b > ? : b;
int c1 = c > ? : c;
int ans = cal(a1, b1, c1);
if (a1 >= && b1 >= && c1 >= ) {
w[a1][b1][c1] = ans;
}
printf("w(%lld, %lld, %lld) = %d\n", a, b ,c, ans);
cin >> a >> b >>c;
}
return ;
}
P1014 Cantor表

我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…输出表中的第N项
解答:找规律发现第一行1个数,第二行2个数,第三行3个数...等差数列。注意下细节就好。
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int summ = , lines = ;
while(n > summ) {
++lines;
summ += lines;
}
summ -= lines;
int left = n - summ;
int fenfu, fenzi;
if (lines % == ) {
fenfu = lines + , fenzi = ;
for (int i = ; i <= left; ++i) {
fenfu--; fenzi++;
}
} else {
fenfu = , fenzi = lines + ;
for (int i = ; i <= left; ++i) {
fenfu++; fenzi--;
}
}
cout << fenzi << "/" <<fenfu << endl;
return ;
}
【Luogu】【关卡1-8】BOSS战-入门综合练习2(2017年10月)【AK】------都是基础题的更多相关文章
- 洛谷训练新手村之“BOSS战-入门综合练习2”题解
P1426 小鱼会有危险吗 题目链接:https://www.luogu.com.cn/problem/P1426 题目大意: 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每 ...
- 洛谷训练新手村之“BOSS战-入门综合练习1”题解
P1478 陶陶摘苹果(升级版) 题目链接:https://www.luogu.com.cn/problem/P1478 题目大意:陶陶有s点体力值,每个苹果消耗体力值,问s体力值最多能摘多少苹果. ...
- 洛谷-小鱼会有危险吗-BOSS战-入门综合练习2
题目描述 Description 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%.有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测 ...
- 洛谷-烤鸡-BOSS战-入门综合练习1
题目背景 Background 猪猪hanke得到了一只鸡 题目描述 Description 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10 ...
- 洛谷-陶陶摘苹果(升级版)-BOSS战-入门综合练习1
题目描述 Description 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同 ...
- 洛谷-哥德巴赫猜想(升级版)-BOSS战-入门综合练习1
题目背景 Background 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和 ...
- 洛谷-三连击(升级版)-BOSS战-入门综合练习1
题目描述 Description 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成A:B:C的比例,试求出所有满足条件的三个三位数,若无解,输出“No!!!”. 输入输出格 ...
- 【Luogu】【关卡2-12】递推与递归二分(2017年10月)
任务说明:递推,层层递进,由基础推向顶层.二分不仅可以用来查找数据,还可以确定最合适的值. P1192 台阶问题 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶 ...
- 【Luogu】【关卡2-16】线性动态规划(2017年10月)【还差三道题】
任务说明:这也是基础的动态规划.是在线性结构上面的动态规划,一定要掌握. P1020 导弹拦截 导弹拦截 P1091 合唱队形 老师给同学们排合唱队形.N位同学站成一排,音乐老师要请其中的(N-K)位 ...
随机推荐
- zxing opencv
- 【leetcode】987. Vertical Order Traversal of a Binary Tree
题目如下: Given a binary tree, return the vertical order traversal of its nodes values. For each node at ...
- boost string algorithm
The Boost.StringAlgorithms library provides many free-standing functions for string manipulation. 1. ...
- 【InnoDB】体系结构
一.概述: innodb的整个体系架构就是由多个内存块组成的缓冲池及多个后台线程构成.缓冲池缓存磁盘数据(解决cpu速度和磁盘速度的严重不匹配问题),后台进程保证缓存池和磁盘数据的一致性(读取.刷新) ...
- hibernate 1 对1
举例:部门departments -------部门经理managers 映射 有两种方式 1:外键映射.类似于多对1.但是设置了unique唯一. 带外键的: package com.hiber ...
- ubuntu Linux下chromium无法使用flash解决方法
Chromium作为谷歌的开源浏览器将不再支持Netscape浏览器插件API,Adobe公司的Flash将无法正常工作了.然而用户可以使用Pepper Flash Player,这是谷歌浏览器上一款 ...
- Database基础(三):SQL数据导入/导出、 操作表记录、查询及匹配条件
一.SQL数据导入/导出 目标: 使用SQL语句完成下列导出.导入操作: 将/etc/passwd文件导入userdb库userlist表并给每条记录加编号 将userdb库userlist表中UID ...
- 如何在程序中执行动态生成的Delphi代码
如何在程序中执行动态生成的Delphi代码 经常发现有人提这类问题,或者提问内容最后归结成这种问题 前些阵子有位高手写了一个“执行动态生成的代码”,这是真正的高手,我没那种功力,我只会投机取巧. 这里 ...
- vue登录页和主页路由配置问题
登录页和主菜单首页是同一级的,都是用一个router-view,对于home页面里还有菜单,这里边还可以再增加一个router-view,那么在配置时候就是在home的路径增加个children路径配 ...
- 【进阶技术】一篇文章搞掂:Docker
注意!!注意系统内存,一开始我使用阿里云1核1G系统,各种问题,搞了几天,原来是内存不足 一.使用VM虚拟机,安装CentOS7.X系统,并安装和使用Docker 1.1.虚拟机安装CentOS7.X ...