Water problem

题目链接:

http://acm.split.hdu.edu.cn/showproblem.php?pid=5867

Description


If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3+3+5+4+4=19 letters used in total.If all the numbers from 1 to n (up to one thousand) inclusive were written out in words, how many letters would be used?
Do not count spaces or hyphens. For example, 342 (three hundred and forty-two) contains 23 letters and 115 (one hundred and fifteen) contains 20 letters. The use of "and" when writing out numbers is in compliance with British usage.

Input


There are multiple test cases. The first line of input contains an integer T, indicating the number of test cases.
For each test case: There is one positive integer not greater one thousand.

Output


For each case, print the number of letters would be used.

Sample Input


3
1
2
3

Sample Output


3
6
11

Source


2016 Multi-University Training Contest 10


##题意:

求 1~n 这n个数字的英文写法的总长度. (不算空格和连字符)


##题解:

对特殊的情况进行预处理即可.
1~19的英文单词是特殊情况. 20 30 ... 整十是特殊情况. 1000也是特殊情况.
其他的就是由上述单词组合得到. 注意整百时是没有"and"的.
注意细节处理即可.


##代码:
``` cpp
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long
#define eps 1e-8
#define maxn 110
#define mod 100000007
#define inf 0x3f3f3f3f
#define mid(a,b) ((a+b)>>1)
#define IN freopen("in.txt","r",stdin);
using namespace std;

int gewei[] = {4,3,3,5,4,4,3,5,5,4,3,6,6,8,8,7,7,9,8,8};

int shiwei[] = {0,0,6,6,5,5,5,7,6,6};

int hund, thou;

int cnt[1100];

int main(int argc, char const *argv[])

{

//IN;

hund = 7; thou = 8;

cnt[1000] = 11;
for(int i=1; i<1000; i++) {
if(i < 20) cnt[i] = gewei[i];
else if(i < 100){
int m = i;
cnt[i] = shiwei[m/10];
if(m%10) cnt[i] += gewei[m%10];
}
else {
int m = i;
cnt[i] = gewei[m/100] + hund;
if(!(m%100)) continue;
cnt[i] += cnt[m%100] + 3;
}
} for(int i=1; i<=1000; i++)
cnt[i] += cnt[i-1]; int t; cin >> t;
while(t--)
{
int n; scanf("%d", &n); printf("%d\n", cnt[n]);
} return 0;

}

HDU 5867 Water problem (模拟)的更多相关文章

  1. HDU 5867 Water problem ——(模拟,水题)

    我发这题只是想说明:有时候确实需要用水题来找找自信的~ 代码如下: #include <stdio.h> #include <algorithm> #include <s ...

  2. HDU 5867 Water problem

    处理出1-99的,之后的加上多少hundred和and即可.整百和一千的时候注意一下. #pragma comment(linker, "/STACK:1024000000,10240000 ...

  3. hdu_5832_A water problem(模拟)

    题目链接:hdu_5832_A water problem 这是一个惨痛的教训,想这种这么大的大数肯定就是找个规律模拟一下. 然而我们队还写JAVA,用大数艹了13发罚时,真是TM智障了. #incl ...

  4. HDU 5832A water problem

    大数 判断整除 /* *********************************************** Author :guanjun Created Time :2016/8/14 1 ...

  5. HDU 5832 A water problem(某水题)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  6. hdu 5443 The Water Problem

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5443 The Water Problem Description In Land waterless, ...

  7. HDU 5832 A water problem (带坑水题)

    A water problem 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5832 Description Two planets named H ...

  8. hdu 5443 The Water Problem 线段树

    The Water Problem Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...

  9. HDU 4974 A simple water problem(贪心)

    HDU 4974 A simple water problem pid=4974" target="_blank" style="">题目链接 ...

随机推荐

  1. 查找所有含有表名(abc)的存储过程 执行脚本

    SELECT obj.Name , sc.TEXT FROM syscomments sc INNER JOIN sysobjects obj ON sc.Id = obj.ID WHERE sc.T ...

  2. 基于EasyUi的快速开发框架

    先看图,下边这个简单的增.删.改.查,如果自己写代码实现,这两个页需要多少行代码? 如果再有类似的增.删.改.查,又需要多少行代码? 我最近搞的这个快速开发框架中,代码行数不超过100. 两页的代码如 ...

  3. UVa 548 (二叉树的递归遍历) Tree

    题意: 给出一棵由中序遍历和后序遍历确定的点带权的二叉树.然后找出一个根节点到叶子节点权值之和最小(如果相等选叶子节点权值最小的),输出最佳方案的叶子节点的权值. 二叉树有三种递归的遍历方式: 先序遍 ...

  4. spring security的标签库

    应用标签库:<%@ taglib prefix='security ' uri='http://www.springframework.org/security /tags' %> < ...

  5. Heritrix源码分析(九) Heritrix的二次抓取以及如何让Heritrix抓取你不想抓取的URL

    本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/644396       本博客已迁移到本人独立博客: http://www.yun5u ...

  6. Arduino 软重启 软件reset

    将12脚连接一个1K电阻,然后用电阻另一端连接RESET脚.注意不是12脚直接连接RESET!! 代码如下(要注意RESET脚为LOW时自动重启) #define PIN 12 void setup( ...

  7. win7下折腾filezilla_client

    基本上参照 http://blog.csdn.net/iamoyjj/article/details/6358742 但发现这样做的话,engine 生成的 lib中死活都没idn_free 及idn ...

  8. 64 位系统遇到未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0

    本人写的.net程序部署在windowsserver 2003的操作系统上正常,部署到windows server 2008上时候报错“未在本地计算机上注册 Microsoft.Jet.OLEDB.4 ...

  9. 使用poi解析Excel

    解析XLS package xls; import java.io.FileInputStream; import java.io.IOException; import java.io.InputS ...

  10. hdu 2476(第一道区间dp)

    题意:就是给定两个字符串,第一个是初始串,第二个是目标串,问你把初始串变到目标串最少需要多少串! 分析:此题分两步,第一步是假设开始的初始串是空串,然后就进行区间dp,dp[i][j]代表把区间[i, ...