2002-2003 ACM-ICPC Northeastern European Regional Contest (NEERC 02) A Amusing Numbers (数学)
2024-09-08 07:43:01
其实挺简单的。先直接算出之前已经排在k这个数前面的数字。比如543是三位的,那么100~543都是可以的,两位的10~54。
如果还需要往前面补的话,那么依次考虑1000~5430,5430是上界不能选,10000~54300。
有一种情况样例4是10000~10000,,这样是不会增加的应该输出'0'。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll; int dig[],sz; void dec(ll k)
{
sz = ;
while(k){
dig[sz++] = k%;
k /= ;
}
reverse(dig,dig+sz);
} int main()
{
freopen("amusing.in","r",stdin);
freopen("amusing.out","w",stdout);
ll K,M; cin>>K>>M;
ll a = ;
dec(K);
for(int i = sz; i > ; i--){
ll data = ,low = ;
for(int j = ; j < i; j++){
data = data*+dig[j];
low *= ;
}
a += data - low/+;
} if(a > M) {
printf("0\n");
return ;
}
if(a == M){
printf("%I64d\n",K);
return ;
}
ll b = M-a; for(int i = sz+; ; i++){
ll data = ,low = ;
for(int j = ; j < i; j++){
data = data*+dig[j];
low *= ;
}
ll t = data - low/;
if(!t) { printf("0\n"); return ; }
if(b <= t){
low /= ;
printf("%I64d\n",b-+low);
return ;
}
b -= t;
}
return ;
}
最新文章
- 【Alpha版本】冲刺随笔汇总
- Sql Server 2008和2000查询表的字段和注释
- candence 知识积累1
- java读取属性文件propertie中文乱码问题
- 第六章:Javascript对象
- WCF报 当前已禁用此服务的元数据发布的错误
- java基础知识回顾之---java String final类普通方法
- Convert to Objective-C ARC
- 修复bug的流年
- php连接Access数据库的三种方法
- bzoj1797
- UserControl调用Umbraco的Data Types
- 图解 HTTP 的缓存机制 | 实用 HTTP
- windows 64位mysql5.7安装
- 【转】WPF自定义控件与样式(12)-缩略图ThumbnailImage /gif动画图/图片列表
- rook 排错记录 + Orphaned pod found kube-controller-manager的日志输出
- 容易掉坑的地方The value for the useBean class attribute XXX is invalid
- iframe-metamask
- alpha冲刺随笔(一)
- nodejs 项目的session验证