题目描述

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

  • 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:

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=0 K=1 V=2 E=3
4

两位及以上的数字忽略,一位的字母若出现n次,则代表n-1。

要判断能否组成加法表(即每一个字母都有对应的数字)

 /*by SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
char mp[];
int cnt[];
char ch;
char s[];
int n;
int main(){
scanf("%d\n",&n);
int i,j;
getchar();
n--;
for(i=;i<n;i++){
getchar();
scanf("%c",&ch);
mp[i]=ch;
}
for(i=;i<n;i++){
getchar();
scanf("%c",&ch);
for(j=;j<n;j++){
getchar();
scanf("%s",s);
if(strlen(s)>)continue;
for(int k=;k<n;k++){
if(mp[k]==s[]){
cnt[k]++;
}
}
}
}
for(i=;i<n;i++)
if(!cnt[i]){
printf("ERROR!\n");
return ;
}
for(i=;i<n;i++){
printf("%c=%d ",mp[i],cnt[i]-);
}
printf("\n%d\n",n);
return ;
}

最新文章

  1. PHP学习笔记:利用时间和mt_rand函数获取随机名字
  2. use-a, has-a, is-a和实现关系
  3. SICP 习题 (1.13) 解题总结
  4. android 基础学习图片六progross
  5. Asp.net MVC + EF + Spring.Net 项目实践3
  6. 使用svn与maven管理的项目导入Eclipse,但是与本地svn客户端关联不上?
  7. nodeppt的使用教程
  8. 2019春第六周作业Compile Summarize
  9. JS对url进行编码和解码(三种方式区别)
  10. cmake方式使用vlfeat
  11. Python开源框架、库、软件和资源大集合
  12. PAT 1034 Head of a Gang[难][dfs]
  13. HBase 安装设置
  14. flutter控件之RadioButton
  15. Jenkins操作,实现增删改查
  16. Chrome浏览器F12讲解
  17. JavaScript实现单向链表
  18. Java获取未知类型对象的属性
  19. JSON字符串书写
  20. 6.centos7 gitblit

热门文章

  1. 备忘录模式及php实现
  2. Git-merge &amp; rebase(变基)
  3. HTTPS时代已来,你做好准备了吗?
  4. JQuery日期选择器插件date-input
  5. Codeforces GYM 100741A . Queries
  6. MMRecovery下载和恢复方法教程
  7. css--字体和文本样式
  8. U盘制作安装盘后容量不能恢复的解决方案
  9. vue2.0中transition组件的用法
  10. Django框架基础知识12-中间件及上下文处理器