命名那个数字 Name That Number

题目描述

在威斯康辛州牛大农场经营者之中,都习惯于请会计部门用连续数字给母牛打上烙印。
但是,母牛用手机时并没感到这个系统的便利,它们更喜欢用它们喜欢的名字来呼叫它们的同伴,而不是用像这个的语句"C’mon, #4734, get along."。
请写一个程序来帮助可怜的牧牛工将一只母牛的烙印编号翻译成一个可能的名字。
因为母牛们现在都有手机了,使用那标准的按键的排布来把收到从数目翻译到文字:( 除了为之外 “Q” 和 “Z”)

可接受的名字都被放在一个名字字典中,它包含一连串的少于 5,000个可接受的牛名字。 (所有的名字都是大写的)
收到母牛的编号返回那些能从编号翻译出来并且在字典中的名字。
举例来说,有这样一个包含3个名字的字典

编号 4734 能产生的下列各项名字:


碰巧,81个中只有一个"GREG"是有效的(在字典中)。

输入格式

第一行一行包含一个编号(长度可能从1到12)。

接下来4617行,每行一个字符串表示可以被接受的名字

输出格式

以字典顺序输出一个有效名字的不重复列表,一行一个名字。 如果没有有效名字,输出’NONE’。 //注释:似乎数字只有8^4种排列(1与0不能用)

样例

如上。

数据范围与提示

本来这题是还有一个附加文件dict.txt里面是字典的,这边我们就简单点,直接附加到输入文件里面来了~

题目翻译来自NOCOW。

USACO Training Section 1.2

思路

把输入字典里面的单词变成数字,再和输入的数字匹配,如果可以匹配成功,就输出,同时要用一个变量记录有没有可以匹配成功的,最后没有,就输出NONE。
比如说输入一个数字1111。输入一个字典,发现字典里面的单词转化为数字和1111匹配,就输出。没有就输出NONE。

代码

#include <bits/stdc++.h>
using namespace std;
int len, Len, B;
int s[1001], s1[1001];
char shu[1001], shu1[1001];
char a[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K' };
void change(int i) {len = -1;int temp = i;while (temp) {s[++len] = temp % B;temp /= B;}temp = pow(i, 2);Len = -1;while (temp) {s1[++Len] = temp % B;temp /= B;}
}
bool itis() {for (int i = 0, j = Len; i <= j; i++, j--) {if (s1[i] != s1[j])return 0;}return 1;
}
void shuchu() {for (int i = len, j = 0; i >= 0; j++, i--) {shu[j] = a[s[i]];}for (int i = Len, j = 0; i >= 0; j++, i--) {shu1[j] = a[s1[i]];}printf("%s %s\n", shu, shu1);
}
int main() {cin >> B;cout << 1 << ' ' << 1 << endl;for (int i = 2; i <= 300; i++) {change(i);if (itis()) {shuchu();}}
}

(又是水过的一天呢~~)

USACO命名那个数字 Name That Number相关推荐

  1. P3864 [USACO1.2]命名那个数字 Name That Number

    题目描述 在威斯康辛州牛守志大农场经营者之中,都习惯于请会计部门用连续数字给母牛打上烙印.但是,母牛本身并没感到这个系统的便利,它们更喜欢用它们喜欢的名字来呼叫它们的同伴,而不是用像这个的语句&quo ...

  2. C#LeetCode刷题之#136-只出现一次的数字(Single Number)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4046 访问. 给定一个非空整数数组,除了某个元素只出现一次以外, ...

  3. MFC:ID命名和数字约定

    今天早上双击一个刚刚编译完成的应用程序,界面刚刚显示,又自动触发了一个菜单事件,打开了一个网页.真的很意外.关闭窗口,再次双击,又自动打开了一个网页,再关闭,再双击,又不自动打开网页了.这是什么情况? ...

  4. Bailian4067 回文数字(Palindrome Number)【数学】

    4067:回文数字(Palindrome Number) 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一系列非负整数,判断是否是一个回文数.回文数指的是正着写和倒着写相等的数. ...

  5. 程序员应知必会的思维模型之 7 邓巴数字 (Dunbar‘s Number)

    邓巴数字 (Dunbar's Number) 邓巴数字是对一个人能够保持稳定社会关系的人数的认知极限--在这种关系中,一个人知道每个人是谁,也知道每个人与其他人的关系如何.而对这一数字的确切值则有着一 ...

  6. 领扣-754 到达终点数字 Reach a Number MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. 【洛谷】【USACO】P1118 数字三角形

    题目描述 FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N ...

  8. python数字类型-Python Number(数字)

    Python Number(数字) Python Number 数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间. 以下实例在变量赋值 ...

  9. js正则检测输入内容为数字,包括负数,整数,浮点数,亲测可用.JS检测整数,js检测浮点数,js检测负数,js检测数字,js限制输入框只输入数字,解决H5 number类型只能输入正数问题.

    JS 正则实现数字检测和限制输入,包括整数.浮点数.负数(亲测可用) 网上搜了一下,居然可以直接拿来用的很少,要么就是只能检测正整数.要么是只能检测浮点数,总之很多都不适合,而H5提供的type=&q ...

最新文章

  1. mvc中ajax的跳转,springmvc ajax 跳转的学习笔记
  2. python3随记——字符编码
  3. P4819-[中山市选]杀人游戏【tarjan】
  4. 【转】二、VTK用于QT的安装
  5. 禁止html文件控件手动输入的方法
  6. leetcode python 1
  7. java log4j记录_JAVA中使用LOG4J记录日志
  8. 敏捷开发“松结对编程”实践之三:共同估算篇(大型研发团队,学习型团队,139团队,师徒制度,敏捷设计,估算扑克,扑克牌估算)...
  9. 游戏版号重新发放,开发者可以松口气了!| 畅言
  10. JS面向对象的程序设计
  11. ctf xss利用_Csrf+Xss组合拳
  12. 全球及中国汽车零部件用模塑料行业盈利预测及投资前景分析报告2021年版
  13. Java 他们每人单独过桥的时间是_java实现 n人过桥问题
  14. 设置计算机网络密码怎么设置路由器,如何在计算机上设置路由器密码?
  15. 利用Jenkins pipeline配置测试工具
  16. 解决页面间体验问题的纯前端容器Lath
  17. 【二叉树前/先序DLR中序LDR后序LRD遍历及镜像翻转,so esay~】
  18. 嵌入式系统工程师的职位要求,你还差多少?
  19. wav文件提取音频数据_python
  20. Server 2019 BPS Provisioning GPT DAX

热门文章

  1. 目标检测(二)——SPPNet
  2. php unzip函数,PHP解压zip文件函数
  3. 使用letsencrypt-certbot生成免费证书
  4. 数据库SQL的编写顺序和执行顺序
  5. VCS自动连接NOVAS文件(SV enhance)
  6. m2接口和nvme协议接口_如何判断M.2接口能否安装NVMe固态硬盘?
  7. Matlab-只读取文本的第一行
  8. 图片编辑工具有哪些?图片编辑修改文字工具安利
  9. 阿里云 Redis安装
  10. 数据库索引 建立方法