博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ1263: [SCOI2006]整数划分
阅读量:4310 次
发布时间:2019-06-06

本文共 1145 字,大约阅读时间需要 3 分钟。

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1263

一眼就可以看出按3拆再乘上最后一个数。。

一开始写的太过sb。。

天灾人祸不可避。

 

#include
#include
#include
#include
#include
#define rep(i,l,r) for (int i=l;i<=r;i++)#define down(i,l,r) for (int i=l;i>=r;i--)#define clr(x,y) memset(x,y,sizeof(x))#define maxn 20050#define ll long longusing namespace std;int n,l;int ans[maxn];ll read(){ ll x=0,f=1; char ch=getchar(); while (!isdigit(ch)) { if (ch=='-') f=-1; ch=getchar(); } while (isdigit(ch)){ x=x*10+ch-'0'; ch=getchar(); } return x*f;}void get(int x){ rep(i,1,l) ans[i]*=x; rep(i,1,l) ans[i+1]+=ans[i]/10,ans[i]=ans[i]%10; while (ans[l+1]) {l++,ans[l+1]+=ans[l]/10,ans[l]%=10;} //while (ans[l+1]) l++;}int main(){ n=read(); l=1; ans[1]=1; while (n>4) { get(3); n-=3; } get(n); printf("%d\n",l); if (l<=100) { down(i,l,1) printf("%d",ans[i]); } else { down(i,l,l-99) printf("%d",ans[i]); } puts(""); return 0;}

 

转载于:https://www.cnblogs.com/ctlchild/p/5030801.html

你可能感兴趣的文章
优秀的后台管理界面设计案例分享
查看>>
在VIM中使用GDB调试 – 使用vimgdb
查看>>
数据挖掘中哪些算法使用率较高?
查看>>
编程算法 - 推断二叉树是不是平衡树 代码(C)
查看>>
MySpring dataSource从配置文件获取
查看>>
矩阵的转置
查看>>
如何为SharePoint文档库、文件夹、文件单独设置权限
查看>>
【Linux】linux中很有用的指令(练习)
查看>>
C# 抽象(2)
查看>>
mysql之引擎、Explain、权限详解
查看>>
推荐-zabbix原理篇
查看>>
160809329 仲兆鹏 3
查看>>
HDOJ1013【Digital Roots】
查看>>
HDOJ1078 FatMouse and Cheese【动态规划】-----武科大ACM暑期集训队选拔赛2题
查看>>
zoj 1492(最大团)
查看>>
利用redis中列表数据类型构建共享消息队列
查看>>
解决“"连接池已满"”
查看>>
网络爬虫2:使用crawler4j爬取网络内容
查看>>
POI导出
查看>>
javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印...
查看>>