比赛的时候后缀长度在4位以内的时候分类讨论了一下,其实他们完全是一个套路的。。并不需要讨论。

然后没有考虑前导0的情况,就wa了。。


题目链接:

http://codeforces.com/problemset/problem/662/D

题意:

用年份的最短的后缀唯一的表示它,这个后缀不能在比他小的年份中使用过。

给定后缀,求年份。

分析:

长度为1的后缀可以表示10个年份。。

长度为2的后缀可以表示100个年份。。

长度为k的后缀可以表示10k个年份。。

这样加起来

到长度为k+1的后缀的时候,已经有tot=101+102+103+...+10k个年份被唯一表示过了。

所以长度为k+1的后缀可以表示的年份在1989+tot到1989+tot+10k+1−1之间。这样便可以根据后缀的位数唯一表示出年份了。。

注意前导0!

代码:

#include<iostream>
using namespace std;
int main (void)
{
int n;cin>>n;
string s;
int ans;
for(int i = 0; i < n; i++){
int q = 0;
cin>>s;
s = s.substr(4);
int len = s.length();
for(int i = 0; i < len; i++)
q = q * 10 + s[i] - '0';
int tmp = 0;
int ten = 10;
for(int i = 1; i < len; i++){
tmp += ten;
ten *= 10;
}
while(tmp + 1989 > q) q += ten;
cout<<q<<endl;
}
return 0;
}

最新文章

  1. golang调用c++文件
  2. DIY的.net正则表达式工具
  3. 如何在SQLServer中处理每天四亿三千万记录
  4. poj 2186 强连通分支 和 spfa
  5. android4.4组件分析--service组件-bindService源代码分析
  6. sql2005还原超长sql脚本,还原超大脚本文件
  7. Python Cookbook(第3版)中文版:15.14 传递Unicode字符串给C函数库
  8. 集群环境下Shiro Session的管理
  9. fastadmin模态框(弹出框)
  10. docker 相关
  11. linux 网络命令
  12. python使用数据库的一些操作
  13. 【转】UIAutomator源码分析之启动和运行
  14. express 阮一峰的博客
  15. Centos7(Firewall)防火墙开启常见端口命令
  16. Runtime 应用(一)拦截系统自带的方法交换实现
  17. MySQL 中now()时间戳用法
  18. 项目中使用的图片上传方法,base64存本地
  19. 百度云BDCloudVideoView播放器的初体验
  20. Number()转换规则

热门文章

  1. 用CSS添加选中文字的背景色
  2. jnhs-SpringMVC jsp页面向controller传递参数的五种方式
  3. 使用Docker 安装Elasticsearch、Elasticsearch-head、IK分词器 和使用
  4. java 字符串拼接
  5. python基础--计算机网络
  6. day37 05-HIbernate二级缓存:一级缓存更新同步到二级缓存及二级缓存配置文件
  7. 2018-8-10-安装-wordpress-出现-抱歉,我不能写入wp-config.php文件
  8. 如何查看MySQL执行计划呢?
  9. 将jacoco集成到测试工具平台
  10. Eight HDU-1043 (bfs)