题目描述

著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字。 例如:

  • L K V E

L L K V E

K K V E KL

V V E KL KK

E E KL KK KV

其含义为:

L+L=L,L+K=K,L+V=V,L+E=E

K+L=K,K+K=V,K+V=E,K+E=KL

…… E+E=KV

根据这些规则可推导出:L=0,K=1,V=2,E=3

同时可以确定该表表示的是4进制加法

//感谢lxylxy123456同学为本题新加一组数据

输入输出格式

输入格式:

n(n≤9)表示行数。

以下n行,每行包括n个字符串,每个字串间用空格隔开。(字串仅有一个为‘+’号,其它都由大写字母组成)

输出格式:

① 各个字母表示什么数,格式如:L=0,K=1,……按给出的字母顺序。

② 加法运算是几进制的。

③ 若不可能组成加法表,则应输出“ERROR!”

输入输出样例

输入样例#1:

  1. 5
  2. + L K V E
  3. L L K V E
  4. K K V E KL
  5. V V E KL KK
  6. E E KL KK KV
输出样例#1:

  1. L=0 K=1 V=2 E=3
  2. 4
    ————————————————————————————————————————————我是分割线————————————————————————————————————————

用样例来举例:

5 + L K V E

L L K V E

K K V E KL

V V E KL KK

E E KL KK KV

其中没有标粗的部分字母有几个这个字母就代表那个数-1

还有一点,两个及两个以上的数字忽略

如:L

L只出现了一次(自己数),所以代表0

K出现了两次,所以代表1

……

记得要判断是否能组成加法表。

  1. /*
  2. Problem:
  3. OJ:
  4. User: S.B.S.
  5. Time:
  6. Memory:
  7. Length:
  8. */
  9. #include<iostream>
  10. #include<cstdio>
  11. #include<cstring>
  12. #include<cmath>
  13. #include<algorithm>
  14. #include<queue>
  15. #include<cstdlib>
  16. #include<iomanip>
  17. #include<cassert>
  18. #include<climits>
  19. #include<functional>
  20. #include<bitset>
  21. #include<vector>
  22. #include<list>
  23. #define F(i,j,k) for(int i=j;i<k;++i)
  24. #define M(a,b) memset(a,b,sizeof(a))
  25. #define FF(i,j,k) for(int i=j;i>=k;i--)
  26. #define maxn 101
  27. #define inf 0x3f3f3f3f
  28. #define maxm 4001
  29. #define mod 998244353
  30. //#define LOCAL
  31. using namespace std;
  32. int read(){
  33. int x=,f=;char ch=getchar();
  34. while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
  35. while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
  36. return x*f;
  37. }
  38. int n,m;
  39. int cnt[maxn];
  40. int temp[maxn];
  41. char data[];
  42. int main(int argc,const char *argv)
  43. {
  44. // std::ios::sync_with_stdio(false);//cout<<setiosflags(ios::fixed)<<setprecision(1)<<y;
  45. #ifdef LOCAL
  46. freopen("data.in","r",stdin);
  47. freopen("data.out","w",stdout);
  48. #endif
  49. cin>>n;getchar();n--;
  50. F(i,,n){
  51. char str;
  52. getchar();cin>>str;data[i]=str;
  53. }
  54. F(i,,n){
  55. getchar();char ch;cin>>ch;
  56. F(j,,n){
  57. getchar();string str;cin>>str;
  58. if(str.size()==){
  59. F(k,,n){
  60. if(data[k]==str[]){
  61. cnt[k]++;
  62. break;
  63. }
  64. }
  65. }
  66. }
  67. }
  68. F(i,,n) if(cnt[i]-==-){cout<<"ERROR!"<<endl;return ;}
  69. F(i,,n) cout<<data[i]<<"="<<cnt[i]-<<" ";
  70. cout<<endl<<n<<endl;
  71. return ;
  72. }

p1013

noip 1998 洛谷P1013 进制位的更多相关文章

  1. 洛谷P1013 进制位

    P1013 进制位 题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E ...

  2. 洛谷 P1013 进制位

    P1013 进制位 题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E ...

  3. 洛谷 P1013 进制位 【搜索 + 进制运算】

    题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: + L K V E L L K V E K K V E KL V V E KL KK E E ...

  4. [NOIP1998] 提高组 洛谷P1013 进制位

    题目描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: L K V E L L K V E K K V E KL V V E KL KK E E K ...

  5. 洛谷P1017 进制转换

    洛谷P1017 进制转换 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 \(1*10 ...

  6. 洛谷p1017 进制转换(2000noip提高组)

    洛谷P1017 进制转换 题意分析 给出一个数n,要求用负R进制显示. n∈[-32768,32767].R ∈[-20,-2] 考察的是负进制数的转换,需要理解短除法. 看到这道题的时候,我是比较蒙 ...

  7. 洛谷 P1017 进制转换

    推荐洛谷 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+ ...

  8. [NOIP2000] 提高组 洛谷P1017 进制转换

    题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的(值减1)为指数,以10为底数的幂之和的形式.例如:123可表示为 1*10^2+2*10^1+3*10^ ...

  9. 洛谷 1017 进制转换 (NOIp2000提高组T1)

    [题解] 纯模拟题. 我们都知道十进制数化成m进制数可以用短除法,即除m取余.逆序排列.而m进制数化为十进制数,按权展开求和即可. 但在本题中进制的基数R可能为负数,我们知道a%R的符号与R一致,也就 ...

随机推荐

  1. vue在生产环境清除console.log

    在开发环境中我们喜欢用console.log测试代码,但是部署到生产环境我们不可能一个一个把console.log给手动删除了. 在build/webpack.prod.conf.js文件里加上这样一 ...

  2. 循序渐进学.Net Core Web Api开发系列【9】:常用的数据库操作

    系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇描述一 ...

  3. 3143 二叉树的序遍历codevs

    题目描述 Description 求一棵二叉树的前序遍历,中序遍历和后序遍历 输入描述 Input Description 第一行一个整数n,表示这棵树的节点个数. 接下来n行每行2个整数L和R.第i ...

  4. 使用Newlife网络库管道模式解决数据粘包(二)

    上一篇我们讲了 如何创建一个基本的Newlife网络服务端 这边我们来讲一下如何解决粘包的问题 在上一篇总我们注册了Newlife的管道处理器 ,我们来看看他是如何实现粘包处理的 svr.Add< ...

  5. C# 高级编程9 介绍篇

    对等网络 在日常软件环境中,解决了以下问题: 不断增加的客户端通讯负载放在服务器上,服务器必须与每个客户端进行通讯,导致站点崩溃.大流量消耗.服务器无法响应等问题. 因此产生了P2B网络技术. 使用P ...

  6. Spring_错误 java.sql.SQLException: Lock wait timeout exceeded | CannotAcquireLockException 的解决

    java.sql.SQLException: Lock wait timeout exceeded |  org.springframework.dao.CannotAcquireLockExcept ...

  7. 一种高效的序列化方式——MessagePack

    最近在弄一些数据分析方面的内容,发现很多时候数据瓶颈在模块之间的数据序列化和反序列化上了,原来项目中用的是Json,找了一圈发现Json.net在Json序列化库中已经是性能的佼佼者了,便准备从序列化 ...

  8. CRC32 Source Code

    /* The Quest Operating System * Copyright (C) 2005-2010 Richard West, Boston University * * This pro ...

  9. IAR EWARM Checksum Technical Note

    IELFTOOL Checksum - Basic actions EW targets: ARM, RH850, RX, SH, STM8 EW component: General issues ...

  10. [Node.js]操作mysql

    摘要 上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql. 安装 安装mysql模块 cnpm install mysql 一个例子 新建一个mysql.js的文件,代码 ...