求 1~n 的所有罗马数字表达中,出现过的每个字母的个数。

分别对每个数的罗马表达式计算每个字母个数。

对于十进制的每一位,都是一样的规则,只是代表的字母不同。

于是我们从最后一位往前考虑,当前位由字母 s[i] 代表 1,字母 s[i+1] 代表 5,s[i+2] 代表 10(在下一次代表1)。

每一位考虑完 i+=2;

num[i] 为当前位为i对应的 s[i] 的个数,当前位为 4~8 时,s[i+1] 出现 1 次,当前位为 9 时,s[i+2] 出现一次。

http://train.usaco.org/usacoprob2?a=Ubydl1YBuc9&S=preface

/*
TASK: preface
LANG: C++
*/
#include<cstdio>
int n;
char s[]="IVXLCDM";
int num[]={,,,,,,,,,,};
int ans[];
void get(int n){
int i=;
while(n){
int t=n%;
n/=;
ans[i]+=num[t];
if(t>=&&t<)ans[i+]++;
if(t==)ans[i+]++;
i+=;
}
}
int main(){
freopen("preface.in","r",stdin);
freopen("preface.out","w",stdout);
scanf("%d",&n);
// get(n);
for(int i=;i<=n;i++)
get(i);
for(int i=;s[i];i++)if(ans[i])
printf("%c %d\n",s[i],ans[i]);
}

  

【USACO 2.2】Preface Numbering (找规律)的更多相关文章

  1. USACO 2.2 Preface Numbering

    Preface Numbering A certain book's prefaces are numbered in upper case Roman numerals. Traditional R ...

  2. USACO Section2.2 Preface Numbering 解题报告 【icedream61】

    preface解题报告----------------------------------------------------------------------------------------- ...

  3. Preface Numbering序言页码

    题面 (preface.pas/c/cpp) 一类书的序言是以罗马数字标页码的.传统罗马数字用单个字母表示特定的数值,以下是标准数字表: I 1 V 5 X 10 L 50 C 100 D 500 M ...

  4. hdu 3951 - Coin Game(找规律)

    这道题是有规律的博弈题目,,, 所以我们只需要找出规律来就ok了 牛人用sg函数暴力找规律,菜鸟手工模拟以求规律...[牢骚] if(m>=2) { if(n<=m) {first第一口就 ...

  5. HDU 5703 Desert 水题 找规律

    已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现是找规律的题了= =都是2的n-1次方,而且这 ...

  6. hdu4952 Number Transformation (找规律)

    2014多校 第八题 1008 2014 Multi-University Training Contest 8 4952 Number Transformation Number Transform ...

  7. CF456B Fedya and Maths 找规律

    http://codeforces.com/contest/456/problem/B CF#260 div2 B Fedya and Maths Codeforces Round #260 B. F ...

  8. hdu 4731 2013成都赛区网络赛 找规律

    题意:找字串中最长回文串的最小值的串 m=2的时候暴力打表找规律,打表可以用二进制枚举

  9. 找规律 Codeforces Round #290 (Div. 2) A. Fox And Snake

    题目传送门 /* 水题 找规律输出 */ #include <cstdio> #include <iostream> #include <cstring> #inc ...

随机推荐

  1. QuickFix/J 源代码

    三). 客户化FIX解析 基础知识:以下文章内容描述的前提是已经根据自己的业务规则,生成了符合要求的数据字典,并且使用QuickFix/J自带的 ant 的 jar target生成了客户化的协议解析 ...

  2. java 22 - 4 多线程的代码实现的方式1

    需求:我们要实现多线程的程序. 如何实现呢? 由于线程是依赖进程而存在的,所以我们应该先创建一个进程出来. 而进程是由系统创建的,所以我们应该去调用系统功能创建一个进程. Java是不能直接调用系统功 ...

  3. javascript删除元素节点

    1.删除元素父节点 function removeElement(_element){ var _parentElement = _element.parentNode; if(_parentElem ...

  4. Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录

    在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 线上数据库备份场景:每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份 ...

  5. SQL80001: Incorrect syntax near ':'

    原文连接:http://geekswithblogs.net/tonyt/archive/2010/03/05/138363.aspx   SQL80001: Incorrect syntax nea ...

  6. 判断百度某一经纬度的地图颜色值python

    from PIL import Image import MySQLdb import os import urllib import time from multiprocessing.dummy ...

  7. ASP.NET MVC的Web Api的实练

    学习ASP.NET MVC一年多来,现在该学学Web Api了.API与ASP.NET MVC的Controller差不多.前者只是返回数据序列化和发送给客户端: 后者返回View或Render Vi ...

  8. Java 基础命名空间

    java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.inst ...

  9. DirectoryBrowserMiddleware中间件如何呈现目录结构

    DirectoryBrowserMiddleware中间件如何呈现目录结构 和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义 ...

  10. Apache Shiro 使用手册(一)Shiro架构介绍 - kdboy - ITeye技术网站

    转载 原文地址 http://kdboy.iteye.com/blog/1154644 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理 ...