题面

题意:给你N,X,   X表示这本书从X开始编号,每个X是几位数,计数器就加几,

然后问你如果从X,开始编号,计数器为N的时候,翻了几页,不能刚好为N输出-1.

(例如,5 99,答案为2,因为5位数需要,99 100 2+3==5,r如果是6,99则无解输出-1)

题解:当然一段一段的减就行了,每一段长度一样的嘛,预处理10的15次方出来,然后减掉小于位数的,

对于减了剩余的部分,每一个数都是相同位数的,所以用剩下的n mod位数,为0说明有解,不为0就肯定没解了啊!

 #include<bits/stdc++.h>
using namespace std;
#define lld long long
int T;
lld f[],n,x,ans;
int main()
{
scanf("%d",&T);
f[]=;
for (int i=;i<=;i++) f[i]=f[i-]*;
while (T--)
{
ans=;
scanf("%lld%lld",&n,&x);
lld xx=x,i=;
while (xx) xx/=,i++;
while (n>=i*(f[i]-x))
{
n=n-(f[i]-x)*i;
ans+=f[i]-x;
x=f[i];
i++; }
if (n%i==) printf("%lld\n",ans+n/i);else puts("-1");
}
}

Gym-101915A Printing Books 模拟的更多相关文章

  1. Gym - 101620H_Hidden Hierarchy(树+模拟)

    Hidden Hierarchy 题目链接 题目描述 You are working on the user interface for a simple text-based file explor ...

  2. Gym 100851E Easy Problemset (模拟题)

    Problem E. Easy ProblemsetInput file: easy.in Output file: easy.outPerhaps one of the hardest problems ...

  3. gym/102021/J GCPC18 模拟拼图

    模拟拼图 题意: 给定n块拼图,每个拼图为四方形,对应四条边有四个数字,如果为0,表示这个边是在边界的,其他数字表示和另一个拼图的一条边相接.保证每个非零数只出现两次. 思路: 模拟,但是要注意几个情 ...

  4. Codeforces Round #171 (Div. 2) B. Books (模拟队列)

    题意:有一组数,问子数组和最大不超过\(t\)的最多元素个数. 题解:用数组模拟队列,不断的往里面放,队列中的元素之和大于\(t\),就不断地从队头弹出直到满足条件,维护一个最大值即可. 代码: in ...

  5. Gym 101190H Hard Refactoring (模拟坑题)

    题意:给定 n 个区间,让你进行合并,问你最后的区间是,如果是空集,输出 false 如果区间是是 [-32768,32767] ,则是true. 析:进行区间合并,要注意,如果是 x >= 0 ...

  6. codeforces gym 100357 K (表达式 模拟)

    题目大意 将一个含有+,-,^,()的表达式按照运算顺序转换成树状的形式. 解题分析 用递归的方式来处理表达式,首先直接去掉两边的括号(如果不止一对全部去光),然后找出不在括号内且优先级最低的符号.如 ...

  7. Gym - 100637A Nano alarm-clocks 模拟

    题意:有n个时钟,只能顺时针拨,问使所有时间相同的最小代价是多少 思路:将时间排序,枚举拨动到每一个点的时间就好了,容易证明最终时间一定是其中之一 #include <iostream> ...

  8. Gym 101915

    Gym - 101915A  Printing Books 题意:有一本书,从第X页开始,一共用了n位数字,求此书一共多少页.99就是两位数字,100就是三位数字. 思路:直接模拟即可,我用了一个hi ...

  9. Gym - 102861B 、Gym - 102861F、Gym 102861G、Gym 102861L、Gym 102861N、Gym 101968C、Gym 101968D

    训练赛链接:https://vjudge.net/contest/410049#problem/D Gym - 102861B 题意: 在一个二维平面上,给你一个船,问你在这个二维平面上有没有船重叠. ...

随机推荐

  1. POJ 3041 - 最大二分匹配

    这道题实现起来还是比较简单的,但是理解起来可能有点困难. 我最开始想到的是贪心法,每次消灭当前小行星最多的一行或一列.然而WA了.Discuss区里已经有高人给出反例. 下面给出正确的解法 我们把行和 ...

  2. C++:C++在图片特定区域之外产生随机数

    参考原文:C++产生随机数 (整数) C++在图片特定区域之外产生随机数,避开正则表达式,可以分为两种情况. 第一种:在某个数之前生成随机数:第二种,生成随机数,加上某个数,然后截断:第三种,指定范围 ...

  3. 错误 RC1015: 无法打开包含文件 'XTToolkitPro.rc'

    XtremeToolkitPro作为VC++/MFC平台下目前最流行的GUI界面库之一,安装和使用都很方便.不过,在实际使用中还是碰到许多问题.如果在编译工程时只显示一个错误:RC1015: 无法打开 ...

  4. url 传参数时出现中文乱码

    1.前端通过 url 传递参数,但是参数又有中文,在下一个页面接受参数的时候中文会乱码 解决方案为: 定义和用法 decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解 ...

  5. java操作Excel的poi的字体设置

    package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.use ...

  6. vue-路由使用

    路由安装 终端下载路由插件 npm install vue-router --save-dev 配置 在main.js中引入插件 //Router 为自定义名 vue-router 为插件的名字 im ...

  7. Nexus私服的搭建

    1.nexus 介绍     是开源的,用该框架架设maven私有服务器   2.nexus私服环境搭建     把nexus.war包放到tomcat的webapps下面     浏览且登录     ...

  8. Photoshop教程

    Photoshop百科 Adobe Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件. Photoshop主要处理以像素所构成的数字图像.使用其众多的编修与绘图 ...

  9. poj 1466 最大独立集

    #include<stdio.h> #include<string.h>//这个分开后男的站在一边女的站在一边,不肯能有les或者gay.最大独立集=n-最大匹配数 #defi ...

  10. 几种new

    http://www.cnblogs.com/luxiaoxun/archive/2012/08/10/2631812.html new .operator new 和 placement new 区 ...