【打表】HDOJ-2089-不要62

【题目链接:HDOJ-2089

  多组测试数据,所以可以先算出符合条件的所有数保存数组中,输入时则直接遍历数组。

 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 int arry[1000001];
 5 int main(){
 6     long n,m,i;
 7     memset(arry,0,sizeof(arry));
 8     //打表
 9     for(i = 1;i <= 1000001;i++){
10         int temp = i;
11         while(temp > 0){
12             if(temp % 10 == 4 || temp % 100 == 62)
13                 arry[i] = 1;
14             temp /= 10;
15         }
16     }
17     while(cin >> n >> m && (n||m)){
18         int ac = m - n + 1;
19         for(i = n;i <= m;i++){
20             if(arry[i] == 1)
21                 ac--;
22         }
23         cout << ac << endl;
24     }
25     return 0;
26 } 
时间: 2024-10-13 02:22:29

【打表】HDOJ-2089-不要62的相关文章

hdoj 2089 不要62 【打表】

题意:.. 水题 代码: #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; int s[10]; int ans[1000005] = {0, 1}; int is(int n){ //n = 62; int pre = 0, cur = 0, i; while(n){ pre = cur; cur = n%10; n /= 10; if(cur == 4||

HDOJ 2089 不要62

超级简单的数位DP.... 不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17584    Accepted Submission(s): 5800 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有

【HDOJ 2089】不要62

[HDOJ 2089]不要62 第一个数位dp的题 做的老困难了...不过好歹是做出来了 迈出了第一步.. 对大牛来说这种题都是小case 代码如下: #include <iostream> #include <cstdio> #include <cstring> using namespace std; int dp[8][3]; /* dp[i][0]无不吉利数字 dp[i][1]无不吉利数字且高位为2 dp[i][2]有不吉利数字 */ void Init() {

HDU 2089 不要62(数位DP,三种姿势)

HDU 2089 不要62(数位DP,三种姿势) ACM 题目地址:HDU 2089 题意: 中文题意,不解释. 分析: 100w的数据,暴力打表能过 先初始化dp数组,表示前i位的三种情况,再进行推算 直接dfs,一遍搜一变记录,可能有不饥渴的全部算和饥渴的部分算情况,记录只能记录全部算(推荐看∑大的详细题解Orz) 代码: 1. 暴力 (以前写的) /* * Author: illuz <iilluzen[at]gmail.com> * File: 2089_bf.cpp * Create

HDU - 2089 不要62 (暴力或数位DP)

Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众. 不吉利的数字为所有含有4或62的号码.例如: 62315 73418 88914 都属于不吉利号码.但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列. 你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新

hdu 2089 不要62 (数位dp)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 思路:用变量记录吉利数,和最高位为2的吉利数还有不是吉利数的个数... code: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int dp[10][3]; //dp[i][j] ,i表示位数,j表示状态<pre name="code"

[ACM] hdu 2089 不要62(数位Dp)

不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19043    Accepted Submission(s): 6442 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就

hud 2089 不要62 (数位dp)

#include<stdio.h> #include<string.h> #include<math.h> #define max 10 int dp[max][3]; int number[max]; //dp[i][0] 前i位数中不符合要求的总个数 //dp[i][1] 前i位数中最高位是2的个数 //dp[i][2] 前i位数中存在含4和有连续62的个数 void init() { memset(dp,0,sizeof(dp)); dp[0][0]=1; for

HDOJ 题目2089 不要62(数位DP,重刷)

不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 25399    Accepted Submission(s): 8793 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就

HDOJ题目2089 不要62(数位DP)

不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 25391    Accepted Submission(s): 8788 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就