51NOD 1385凑数字(找规律?)
思路:这个题是真的想了蛮久,枚举了一下前一百就发现了规律,要想最短的话就是要构建1234567890这个字符串;刚开始找到的规律从1开始枚举到N,每满一百加一,每出现一个各个位数上数字相同的(例如3,22,111)都加一;然后数太大枚举肯定要超时,于是改进了一下,假如这个数是一千,那么它最小位数起码是10*3;假如这个数是一万,那么这个最小位数起码是10*4;依次类推,可以发现最小位数的组成部分肯定有10*(len-1),然后剩下的就是找到看n能被多少个len个1的数整除,加上这个数就可以了。但是这样只过了一半样例,下载一个错误的样例发现,输入太大了,已经超过了longlong的范围,所有这种方案也失败了。然后当然是百度,发现自己好像多此一举了,直接加上第一位n[0]然后在判断n的所有字符是否相同,如果相同则再加一。
#include<cstdio>
#include<string>
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
string num;
cin >> num;
stringstream ss; ss << num;
long long cnum; ss >> cnum;
ss.clear();
long long sum = ;
sum += * (num.length() - );
cout << sum << endl;
string slen(num.length(), '');
ss << slen;
long long cslen; ss >> cslen;
ss.clear();
sum += cnum / cslen;
cout << sum << endl; return ;
}
过了一半样例
但是还是错了!发现自己想问题还是想的太简单了,并不是后面所有位是相同才加一,大于等于相同位数相同的那个数都能够进行加一,比如223比222大
再次在提供两组样例
输入样例1: 输出样例1: 输入样例2: 输出样例2:
#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
int main()
{
string num;
cin >> num; long long sum = ;
sum += * (num.length() - );
sum += num[] - ''; int flag = ;
for (int i = ; i < num.length() - ; i++)
if (num[i] <num[i + ]){ //假如后面有一位数大于前一位就不用在找了
break;
}
else if (num[i] > num[i + ]){
flag = ; break;
} if (flag)sum++; cout << sum << endl; return ;
}
51NOD 1385凑数字(找规律?)的更多相关文章
- 51nod 1385凑数字(字符串+构造)
题目大意: 给定一个n,要求找出一个最短的字符串S,使得所有1到n的整数都是S的子序列. 比如n=10,那么S=”1234056789”的时候,是满足条件的.这个时候S的长度是10. 现在给出一个n, ...
- 51nod 1770 数数字 找规律,注意进位,时间复杂度O(n)
题目: 这题很简单,找规律即可. 考虑两次进位: 1.a*b时的进位. 2.aa*b时加法时进位. 代码: #include <bits\stdc++.h> using namespace ...
- A - 你能数的清吗 51Nod - 1770(找规律)
A - 你能数的清吗 51Nod - 1770(找规律) 演演是个厉害的数学家,他最近又迷上了数字谜.... 他很好奇 xxx...xxx(n个x)*y 的答案中 有多少个z,x,y,z均为位数只有一 ...
- 51nod 1831: 小C的游戏(Bash博弈 找规律)
题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...
- hdu 4731 2013成都赛区网络赛 找规律
题意:找字串中最长回文串的最小值的串 m=2的时候暴力打表找规律,打表可以用二进制枚举
- ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies (打表找规律+快速幂)
题目链接:https://nanti.jisuanke.com/t/31716 题目大意:有n个孩子和n个糖果,现在让n个孩子排成一列,一个一个发糖果,每个孩子随机挑选x个糖果给他,x>=1,直 ...
- hdu 3951 - Coin Game(找规律)
这道题是有规律的博弈题目,,, 所以我们只需要找出规律来就ok了 牛人用sg函数暴力找规律,菜鸟手工模拟以求规律...[牢骚] if(m>=2) { if(n<=m) {first第一口就 ...
- HDU 5703 Desert 水题 找规律
已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...
- hdu4952 Number Transformation (找规律)
2014多校 第八题 1008 2014 Multi-University Training Contest 8 4952 Number Transformation Number Transform ...
随机推荐
- JeePlus:代码结构
ylbtech-JeePlus:代码结构 1.返回顶部 1. 代码结构 1.文件结构 1.1.源码目录 src/main/javacom.jeeplus Jeeplus目录录├ common 公共模块 ...
- 2008提权之突破系统权限安装shift后门
大家都知道08权限的系统权限设置很严格,且在2003系统中常用到的溢出工具都失效.面对限制IP连接的情况 我们及时拿到system权限 有账号也上不去 这种情况下只能弄shift后门 或者放大镜了.但 ...
- 符号修饰与函数签名、extern “C”(转载)
转自:http://www.cnblogs.com/monotone/archive/2012/11/16/2773772.html 参考资料: <程序员的自我修养>3.5.3以及3.5. ...
- E20170616-hm
transaction n. 交易,业务,事务; 办理,处理; (一笔) 交易,(一项)事务; (学会等的) 会议记录,学报; isolation n. 隔离; 孤独; 隔离状态; 孤立状 ...
- bzoj 4198: [Noi2015]荷马史诗【哈夫曼树+贪心】
和合并果子类似(但是是第一次听说哈夫曼树这种东西) 做法也类似,就是因为不用知道树的形态,所以贪心的把最小的k个点合为一个节点,然后依次向上累加即可,具体做法同合并果子(但是使用优先队列 注意这里可能 ...
- datatable-bootstrap 基本配置
function doSearch() { if(dtable!=null){ dtable.fnClearTable(0); dtable.fnDraw(); // 重新加载数据 }else{ dt ...
- 记录从数据库把数据初始化mongodb缓存的一些坑
在项目启动时,需要做一些项目启动后的预操作,比如初始化数据进缓存等等. 这时就需要写listener,等监听.在项目启动时把数据缓存进mongodb. 但是这会有一个问题.项目一般都是把各种bean交 ...
- Python安装第三方包(setup.py)
在github上下载了records文件到本地. 解压文件 cmd切换到文件setup.py的目录下 先执行 python setup.py build 再执行python setup.py inst ...
- cocos2d-x android 环境部署
1.下载jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.下载 and ...
- 百度地图API在vue-cli中路径错误的问题
在使用百度地图的时候,需要使用自定义的icon图片,百度的案例中使用的是线上地址,但当替换为本地图片路径的时候,错误出现了 这是本地图片地址 ) // 设置覆盖物大小 ); 这里有一点需要注意,这里路 ...