洛谷P8924题解
洛谷 P8924 题解
题目描述
给你一个函数,画出它的函数图像(* 表示经过该点,. 表示不经过该点),大小为 \(n\times m\),其中 \(x\) 的范围是 \([0,n-1]\),\(f(x)\) 的范围是 \([0,m-1]\)。
进入正题(题目分析)
题目比较简单,我们看到数据范围,直接选择暴力枚举。
首先开一个二维字符数组maps记录数据。记得初始化为. 。(这里手动初始化,也可以选择使用memset。)
for(int i = 0;i<500;i++)
{
for(int j = 0;j<500;j++)
{
maps[i][j] = '.';
}
}
然后处理输入,将输入的系数保存供后续使用。
for(int i = 0;i<=k;i++)
{
scanf("%lld",&nums[i]);
}
之后循环遍历x和k,计算每一个x对应的函数值。由于函数值可能很大,这里需要加一个特判,避免数组爆炸。
int sum;
for (int x = 0; x < n; x++)
{
sum = 0;
for (int i = 0; i <= k; i++)
{
sum += nums[i] * pow(x, i);
}
if (sum < m)
{
maps[x][sum] = '*';
}
}
最终我们可以愉快的输出,记得纵坐标是倒序的哦。
for (int i = n - 1; i >= 0; i--)
{
for (int j = 0; j < m; j++)
{
cout << maps[j][i];
}
cout << endl;
}
完整AC代码如下
#include <bits/stdc++.h>
using namespace std;
#define max_n 510
#define int long long
char maps[max_n][max_n];
int n, m, k;
int nums[max_n];
signed main()
{
scanf("%lld%lld%lld", &n, &m, &k);
for (int i = 0; i < 500; i++)
{
for (int j = 0; j < 500; j++)
{
maps[i][j] = '.';
}
}
for (int i = 0; i <= k; i++)
{
scanf("%lld", &nums[i]);
}
int sum;
for (int x = 0; x < n; x++)
{
sum = 0;
for (int i = 0; i <= k; i++)
{
sum += nums[i] * pow(x, i);
}
if (sum < m)
{
maps[x][sum] = '*';
}
}
for (int i = n - 1; i >= 0; i--)
{
for (int j = 0; j < m; j++)
{
cout << maps[j][i];
}
cout << endl;
}
return 0;
}
AC记录在此~
洛谷P8924题解的更多相关文章
- [洛谷P3376题解]网络流(最大流)的实现算法讲解与代码
[洛谷P3376题解]网络流(最大流)的实现算法讲解与代码 更坏的阅读体验 定义 对于给定的一个网络,有向图中每个的边权表示可以通过的最大流量.假设出发点S水流无限大,求水流到终点T后的最大流量. 起 ...
- 洛谷P5759题解
本文摘自本人洛谷博客,原文章地址:https://www.luogu.com.cn/blog/cjtb666anran/solution-p5759 \[这道题重在理解题意 \] 选手编号依次为: \ ...
- 关于三目运算符与if语句的效率与洛谷P2704题解
题目描述 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队.一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图.在每一格平原地形上最 ...
- c++并查集配合STL MAP的实现(洛谷P2814题解)
不会并查集的话请将此文与我以前写的并查集一同食用. 原题来自洛谷 原题 文字稿在此: 题目背景 现代的人对于本家族血统越来越感兴趣. 题目描述 给出充足的父子关系,请你编写程序找到某个人的最早的祖先. ...
- 洛谷P2607题解
想要深入学习树形DP,请点击我的博客. 本题的DP模型同 P1352 没有上司的舞会.本题的难点在于如何把基环树DP转化为普通的树上DP. 考虑断边和换根.先找到其中的一个环,在上面随意取两个点, 断 ...
- 【洛谷】题解 P1056 【排座椅】
题目链接 因为题目说输入保证会交头接耳的同学前后相邻或者左右相邻,所以一对同学要分开有且只有一条唯一的通道才能把他们分开. 于是可以吧这条通道累加到一个数组里面.应为题目要求纵列的通道和横列的通道条数 ...
- 洛谷P3572题解
这道题实在是一道 毒瘤 题,太坑爹了.那个写 \(deque\) 的题解亲测只有80分,原因 不言而明 ,这道题居然 丧心病狂 到 卡STL . 好了,不吐槽了,进入正题 题目分析: 这是一道十分 简 ...
- [洛谷P1972][题解][SDOI2009]HH的项链
别碰我! 自己还是太蒟了…… 看了好久,最后抄参考题解打出来的…… 前面的可能影响后面的,所以按照询问右端点排序 这时候维护一个前缀和数组就可以了, 那么问题又来了,去重? 可以这样,从前往后枚举,如 ...
- 【洛谷P1119题解】灾后重建——(floyd)
这道题告诉我,背的掉板子并不能解决一切问题,理解思想才是关键,比如不看题解,我确实想不清楚这题是弗洛伊德求最短路 (我不该自不量力的说我会弗洛伊德了我错了做人果然要谦虚) 灾后重建 题目背景 B地区在 ...
- 洛谷P5691题解
题面 本人用的是暴力分类讨论 + \(unordered\_map\) 存储,与所有的题解都不同. 因为 \(n \leq 6\) ,非常的小,并且我不想写 DFS,所以直接暴力分类讨论 \(n=1, ...
随机推荐
- day06-Spring管理Bean-IOC-04
Spring管理Bean-IOC-04 3.基于注解配置bean 3.1基本使用 3.1.1说明 基本说明:基于注解的方式配置bean,主要是项目开发中的组件,比如Controller,Service ...
- 案例:用ajax 方法 解析xml
xml文件 <?xml version="1.0" encoding="utf-8"?> <studentlist> <stude ...
- Keil 5(Keil C51)安装与注册 [ 图文教程 ]
前言 Keil C51 是 51 系列兼容单片机 C 语言软件开发系统,支持 8051 微控制器体系结构的 Keil 开发工具,适合每个阶段的开发人员,不管是专业的应用工程师,还是刚学习嵌入式软件开发 ...
- ASP.NET Core RESTful学习理解
一.了解什么是REST REST是"REpresentational State Transfer"的缩写 ,表述性状态传递: REST是一种软件架构风格,用于构造简单.可靠.高性 ...
- 淘宝首页数据采集之js采集
搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 既然能打到控制台,当然也能传到系统!!! 既然能打到控制台,当然也能传到系统!!! 既然能打 ...
- 【学习日志】MySQL分表与索引的关系
什么情况下需要分表呢?分表又能解决什么问题呢? 一般情况下分表的直接原因是数据量太大了,比如一张表一共只有1w条数据,确实没必要分表.为什么数据量大了就需要分表呢?首先得看看数量量过大后会带来什么问题 ...
- Vue05 初识
1 下载vue.js 进入官网 下载两个版本的vue.js 开发版本和生成版本的区别 开发版本体量更大,包含完整的警告和调试模式 生成版本体量更小,删除了警告 2 打开VSCode 新建一个空文件夹v ...
- IDEA手动导入jar包到maven本地库
第一步:下载需要的jar包 第二步:file project structure-liberaries 第三步:点击+号-选择java,再选择刚才下载的jar包,ok 此时我们把jar包加到项目了,但 ...
- JAVA虚拟机11-Class文件结构
1.平台无关性和语言无关性 Oracle公司以及其他虚拟机发行商发布过许多可以运行在各种不同硬件平台和操作系统上的Java虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码,从而实现了程序的&q ...
- linux下删除文件夹的软链接时注意千万不能在后面加反斜杠,千万不要用强制删除,否则下面2种场景,你会把源文件删除,要闯祸的
今天遇到一个坑,自己在子目录下创建了父目录的软链接,导致可以无限循环进入父目录 [clouder@ana53 dir1]$ ll total 8 -rw-rw-r-- 1 clouder cloude ...