1 条题解
-
0
自动搬运
来自洛谷,原作者为

scp020
这是一个亖人 || 最后在线时间:2025年8月24日9时5分搬运于
2025-08-24 22:43:47,当前版本为作者最后更新于2023-01-01 18:15:23,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
题目大意
给定一个函数 的各项的系数,让你画出这个函数图像。
解决
因为这道题只是让我们画出在整数点上的图像,所以我们考虑从 到 枚举横坐标,即可求出对应的纵坐标,进行记录即可。
这里需要一个 函数,顾名思义,就是求出一个 对应的 的值。对于次数为 的项(常数项认为是次数为 ),当前项的值为 。
特殊注意的是:本题输出顺序有所调整。如下图所示。

代码
#include<bits/stdc++.h> using namespace std; #define Getchar() p1==p2 and (p2=(p1=Inf)+fread(Inf,1,1<<21,stdin),p1==p2)?EOF:*p1++ #define Putchar(c) p3==p4 and (fwrite(Ouf,1,1<<21,stdout),p3=Ouf),*p3++=c char Inf[1<<21],Ouf[1<<21],*p1,*p2,*p3=Ouf,*p4=Ouf+(1<<21); inline void read(long long &x,char c=Getchar()) { bool f=c!='-'; x=0; while(c<48 or c>57) c=Getchar(),f&=c!='-'; while(c>=48 and c<=57) x=(x<<3)+(x<<1)+(c^48),c=Getchar(); x=f?x:-x; } long long n,m,k,a[10]; char ans[200][200]; inline long long ksm(long long a,long long b) { long long ret=1; while(b) { if(b&1) ret=ret*a,b--; a=a*a,b>>=1; } return ret; } inline long long calc(const int &x) { long long ret=0; for(int i=0;i<=k;i++) ret+=a[i]*ksm(x,i); if(ret>m) return -50; return ret; } int main() { read(n),read(m),read(k); for(int i=0;i<=k;i++) read(a[i]); for(int i=0;i<n;i++) ans[m-calc(i)][i]='*'; for(int i=1;i<=m;i++,Putchar('\n')) for(int j=0;j<n;j++) if(ans[i][j]=='*') Putchar('*'); else Putchar('.'); fwrite(Ouf,1,p3-Ouf,stdout),fflush(stdout); return 0; }
- 1
信息
- ID
- 8203
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者