》》点击进入原题测试《《

思路:这个题是真的想了蛮久,枚举了一下前一百就发现了规律,要想最短的话就是要构建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凑数字(找规律?)的更多相关文章

  1. 51nod 1385凑数字(字符串+构造)

    题目大意: 给定一个n,要求找出一个最短的字符串S,使得所有1到n的整数都是S的子序列. 比如n=10,那么S=”1234056789”的时候,是满足条件的.这个时候S的长度是10. 现在给出一个n, ...

  2. 51nod 1770 数数字 找规律,注意进位,时间复杂度O(n)

    题目: 这题很简单,找规律即可. 考虑两次进位: 1.a*b时的进位. 2.aa*b时加法时进位. 代码: #include <bits\stdc++.h> using namespace ...

  3. A - 你能数的清吗 51Nod - 1770(找规律)

    A - 你能数的清吗 51Nod - 1770(找规律) 演演是个厉害的数学家,他最近又迷上了数字谜.... 他很好奇 xxx...xxx(n个x)*y 的答案中 有多少个z,x,y,z均为位数只有一 ...

  4. 51nod 1831: 小C的游戏(Bash博弈 找规律)

    题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...

  5. hdu 4731 2013成都赛区网络赛 找规律

    题意:找字串中最长回文串的最小值的串 m=2的时候暴力打表找规律,打表可以用二进制枚举

  6. ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies (打表找规律+快速幂)

    题目链接:https://nanti.jisuanke.com/t/31716 题目大意:有n个孩子和n个糖果,现在让n个孩子排成一列,一个一个发糖果,每个孩子随机挑选x个糖果给他,x>=1,直 ...

  7. hdu 3951 - Coin Game(找规律)

    这道题是有规律的博弈题目,,, 所以我们只需要找出规律来就ok了 牛人用sg函数暴力找规律,菜鸟手工模拟以求规律...[牢骚] if(m>=2) { if(n<=m) {first第一口就 ...

  8. HDU 5703 Desert 水题 找规律

    已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...

  9. hdu4952 Number Transformation (找规律)

    2014多校 第八题 1008 2014 Multi-University Training Contest 8 4952 Number Transformation Number Transform ...

随机推荐

  1. 移动前端第一弹:viewport详解

    前言 这次想聊聊移动开发相关的事.是的,你没有看错,一句话就可以开始你的移动前端开发. 你心里一定在想,什么话这么酷,能够瞬间带入到移动前端开发的世界. 但其实它一点也不新奇,不复杂. viewpor ...

  2. Permutations II 典型去重

    https://leetcode.com/problems/permutations-ii/ Given a collection of numbers that might contain dupl ...

  3. bzoj 1635: [Usaco2007 Jan]Tallest Cow 最高的牛【差分】

    s[i]为差分后的"i这头牛前有几头比它高",计算答案的时候加成前缀和,假设第一头最高减一下即可 用map记录一下被加过的区间,避免重复 #include<iostream& ...

  4. bzoj 1715: [Usaco2006 Dec]Wormholes 虫洞【spfa判负环】

    tag是假的,用了及其诡异的方法判负环 正权无向边和负权有向边的图 #include<iostream> #include<cstdio> #include<cstrin ...

  5. Q - Euclid in Manhattan(欧几里德距离==曼哈顿距离?)

    Desciption Consider a set of n points in a 2-D plane with integer coordinates. There are various way ...

  6. ACM_拼接数字

    拼接数字 Time Limit: 2000/1000ms (Java/Others) Problem Description: 给定一个正整数数组,现在把数组所有数字都拼接成一个大数字,如何使得拼接后 ...

  7. [转].net cookie版购物车

    本文转自:http://www.sulong.cc/article/program/aspx/110613114249.html #region 添加到购物车AddShoppingCar /// &l ...

  8. SQL server存储过程及触发器基础

    存储过程:就像函数一样的会保存在数据库中-->可编程性 --> 存储过程-----------------------------------------------------创建存储过 ...

  9. go 语言开发环境的安装与配置

    go 语言开发环境的安装与配置 编辑器选择 一直以来都是用sublime,但是听说sublime对于golang的插件支持并不是特别完善,并且VS Code只要在自身所带的扩展商店里安装go插件就可以 ...

  10. UNICODE本地编译freescale的i.MX6Q的android4.2.2&android4.4.2 && 全志a80的步骤x1

    20151031本地编译freescale的i.MX6Q的android4.2.2&android4.4.2 && 全志a80的步骤x1 2015/10/31 15:07 开始 ...