洛谷训练新手村之“BOSS战-入门综合练习1”题解
P1478 陶陶摘苹果(升级版)
题目链接:https://www.luogu.com.cn/problem/P1478
题目大意:陶陶有s点体力值,每个苹果消耗体力值,问s体力值最多能摘多少苹果。
解题思路:首先过滤掉摘不到的苹果。其次从小到大排序, 贪心 思想:优先选择消耗体力值小的苹果。
实现代码如下:
#include <bits/stdc++.h>
using namespace std;
const int maxn = 5050;
int n, m, s, a, b, x[maxn], y[maxn], ans;
int main() {
cin >> n >> s >> a >> b;
a += b;
while (n --) {
cin >> x[m] >> y[m];
if (x[m] <= a) m ++;
}
sort(y, y+m);
for (int i = 0; i < m; i ++) {
if (y[i] <= s) {
s -= y[i];
ans ++;
}
else break;
}
cout << ans << endl;
return 0;
}
P1618 三连击(升级版)
题目链接:https://www.luogu.com.cn/problem/P1618
题目大意:求出所有壁纸为A:B:C的三位数。
解题思路:遍历第一个数,判断后两个数是否都是三位数且刚好这三个数从1到9。
实现代码如下:
#include <bits/stdc++.h>
using namespace std;
int A, B, C;
bool t[10];
bool check(int a) {
if (a % A) return false;
int b = a/A*B, c = a/A*C;
if (b >= 1000 || c >= 1000) return false;
int d = a * 1000000 + b * 1000 + c;
memset(t, 0, sizeof(t));
while (d) {
t[d%10] = true;
d /= 10;
}
for (int i = 1; i < 10; i ++) if (!t[i]) return false;
return true;
}
int main() {
cin >> A >> B >> C;
bool flag = false;
for (int a = 123; a < 333; a ++) {
if (check(a)) {
flag = true;
cout << a << " " << a/A*B << " " << a/A*C << endl;
}
}
if (!flag) puts("No!!!");
return 0;
}
P1579 哥德巴赫猜想(升级版)
题目链接:https://www.luogu.com.cn/problem/P1579
题目大意:给你一个数,找三个素数使得它们的和是这个数。
解题思路:数据量偏大,所以采用素数筛法,然后再枚举。
实现代码如下:
#include <bits/stdc++.h>
using namespace std;
const int maxn = 20020;
bool pp[maxn];
int n, a, p[maxn];
void init() {
pp[0] = pp[1] = true;
for (int i = 2; i < maxn; i ++)
if (!pp[i]) {
p[n++] = i;
for (int j = i; j < maxn/i; j ++) pp[i*j] = true;
}
}
int main() {
init();
cin >> a;
for (int i = 0; i < n; i ++)
for (int j = i; j < n; j ++) {
if (p[i] + p[j] >= a) continue;
if (!pp[a- p[i] - p[j] ]) {
cout << p[i] << " " << p[j] << " " << a-p[i]-p[j] << endl;
return 0;
}
}
return 0;
}
P2089 烤鸡
题目链接:
题目大意:
猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末、孜然等),每种配料可以放1—3克,任意烤鸡的美味程度为所有配料质量之和
现在,Hanke想要知道,如果给你一个美味程度,请输出这10种配料的所有搭配方案
解题思路:枚举出所有的状态方案。因为直接枚举得开好多循环,所以我可以采用类似 状态压缩 的思想,每个状态对应一个三进制数,然后三进制数的每一位对应10个数字,这样比较好解决一些。
实现代码如下:
#include <bits/stdc++.h>
using namespace std;
int a[10], n, res;
int main() {
cin >> n;
if (n < 10 || n > 30) {
puts("0");
return 0;
}
n -= 10;
for (int i = 0; i < 59049; i ++) {
int tmp = i, cnt = 0;
for (int j = 9; j >= 0; j --) {
a[j] = tmp % 3;
tmp /= 3;
cnt += a[j];
}
if (cnt == n) res ++;
}
cout << res << endl;
for (int i = 0; i < 59049; i ++) {
int tmp = i, cnt = 0;
for (int j = 9; j >= 0; j --) {
a[j] = tmp % 3;
tmp /= 3;
cnt += a[j];
}
if (cnt != n) continue;
for (int j = 0; j < 10; j ++) {
if (j) putchar(' ');
cout << a[j]+1;
}
cout << endl;
}
return 0;
}
洛谷训练新手村之“BOSS战-入门综合练习1”题解的更多相关文章
- 洛谷训练新手村之“BOSS战-入门综合练习2”题解
P1426 小鱼会有危险吗 题目链接:https://www.luogu.com.cn/problem/P1426 题目大意: 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每 ...
- 洛谷-小鱼会有危险吗-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】【关卡1-8】BOSS战-入门综合练习2(2017年10月)【AK】------都是基础题
P1426 小鱼会有危险吗 我个人觉得这个题目出的不好,没说明白,就先只粘贴的AC代码吧 #include <bits/stdc++.h> using namespace std; int ...
- 【洛谷P2584】【ZJOI2006】GameZ游戏排名系统题解
[洛谷P2584][ZJOI2006]GameZ游戏排名系统题解 题目链接 题意: GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在 ...
- 洛谷4525 & 4526:【模板】自适应辛普森法——题解
参考:https://phqghume.github.io/2018/05/19/%E8%87%AA%E9%80%82%E5%BA%94%E8%BE%9B%E6%99%AE%E6%A3%AE%E6%B ...
随机推荐
- PHP 手机短信验证码 laravel 实现流程
https://blog.csdn.net/uknow0904/article/details/80336941 本人在自己博客(Laravel)的注册部分 使用手机号注册,需要发送短信验证码. 使用 ...
- Pytorch源码与运行原理浅析--网络篇(一)
前言 申请的专栏开通了,刚好最近闲下来了,就打算开这个坑了hhhhh 第一篇就先讲一讲pytorch的运行机制好了... 记得当时刚刚接触的时候一直搞不明白,为什么自己只是定义了几个网络,就可以完整的 ...
- day2_python之字符编码
一 .计算机基础知识 二.文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的, ...
- IDEA 通过数据库生成entity实体类
IDEA利用数据库生成entity类教程 1.在左上角有一个View 选项 2. 然后选择 TOOL Windows 3. 然后选择Database然后会弹出一个窗口 4.选择+号 5.选择data ...
- Linux下的一些配置
/etc/vim/vimrc文件 set cindent set expandtab set smartindent set autoindent set nu set hls taglist安装(t ...
- hdu 3662 3D Convex Hull
Problem - 3662 题意很简单,构造三维凸包,求凸包有多少个面. 代码如下: #include <cstdio> #include <iostream> #inclu ...
- python项目管理
Python 通常没有对应 Java 的 Ant / Maven 这样的 build tool,有一个用于打包的 setuptools / distutils 但也并不完全等价.如果是用来管理依赖包, ...
- Postman接口测试工具学习笔记
- 新建测试接口 在Postman中有两种新建测试接口的方式,第一种是图片右上角的,点击可以选择 request 请求进行新建 选择 Request 以后会出现下面图片的对话框,让你输入一个保存接口的 ...
- Java集合系统
前言: 要想学习java的集合体系,就必须先了解java的集合框架,总的来说,分为Collection和Map体系. Collection集合框架: Map集合框架: 一. Collection接口 ...
- git卡在Resolving deltas 100%的解决办法
很多同学都有这样的问题.不知道是git的问题,还是tortoisegit的问题. 我的版本: Git-1.8.4-preview20130916 TortoiseGit-1.8.6.0-32bit 已 ...