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