L1-033. 出生年
来源:互联网 发布:人工智能疾病诊断 编辑:程序博客网 时间:2024/05/17 08:41
本题要求:
新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。
输入格式:
输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零,例如公元1年被认为是0001年,有2个不同的数字0和1。
输出格式:
根据输入,输出x和能达到要求的年份。数字间以1个空格分隔,行首尾不得有多余空格。年份要按4位输出。注意:所谓“n个数字都不相同”是指不同的数字正好是n个。如“2013”被视为满足“4位数字都不同”的条件,但不被视为满足2位或3位数字不同的条件。
输入样例:
1988 4
输出样例:
25 2013
解题思路 :
只要能计算出每个数字不同数字的个数即可。注意不足4位需要补0。
代码 :
#include <iostream>#include <string>#include <stack>#include <set>#include <cstdio>using namespace std;int getN(int n) { int num[10] = {0}; if (n < 1000) { num[0]++; } while (n != 0) { num[n % 10]++; n /= 10; } int s = 0; for (int i = 0; i < 10; i++) { if (num[i] != 0) { s++; } } return s;}int main() { int year, n; int age = 0; cin >> year >> n; while (true) { if (getN(year) == n) { cout << age << " "; printf("%04d", year); cout << endl; break; } year++; age++; } return 0;}
0 0
- L1-033. 出生年
- L1-033. 出生年
- L1-033. 出生年
- L1-033. 出生年
- L1-033. 出生年
- L1-033. 出生年
- L1-033. 出生年
- L1-033. 出生年
- L1-033. 出生年
- PAT L1-033. 出生年
- pat:L1-033. 出生年
- L1-1出生年
- L1-1. 出生年
- L1-1 出生年
- (pat)L1-1. 出生年
- 2017天梯大区赛L1-033. 出生年
- CCCC-GPLT L1-033. 出生年 天梯赛
- 团体程序设计天梯赛-练习集 L1-033. 出生年
- Codeforces Round #345 (Div. 1) D. Zip-line LIS 离线 离散化 线段树
- PHP语言基础(标记、注释、变量、数组、常量、函数)
- 刷题小记
- 排序算法(四) 基数排序
- python中的metaclass 的精彩解释
- L1-033. 出生年
- app 启动过程
- nosetest 搭建smoke测试用例集
- nio demo
- Linux下Find指令的详细用法
- 蓝桥杯-特殊回文数
- git
- 状压dp之棋盘覆盖
- 启动Activity前检测