BestCoder Round#15 1002-Instruction
http://acm.hdu.edu.cn/showproblem.php?pid=5083
官方题解——》
1002 Instruction 先考虑编码,首先找到operation对应的编码,如果是SET就找后面的一个R后面跟着的数字a,令b=0,否则找后面第一个R后面的数字当作a,第二个R后面的数字当作b,最后依次输出operation二进制编码,a, b的二进制编码。 再说解码,先将前6位,中间5位和后面5位转化成十进制记为oid, a, b。如果oid<1||oid>6就是Error!,如果oid<6那么a,b都不能为0,如果oid==6那么a!=0&&b==0。其它情况都是Error!,最后按照oid,a,b输出指令即可。
下面来代码。。水平有限,比较丑,勿怪-_-|||
1 #include <stdio.h>
2 #include <string.h>
3 #include <math.h>
4
5 int num[] = {
6 , , , , , , , ,
7 , , , , , , , ,
8 , , , , , , , ,
9 , , , , , , ,
};
int op[] = {
, , , , , ,
};
char op2[][] = {
"", "ADD", "SUB", "DIV", "MUL", "MOVE", "SET"
};
int main(){
int type, a, b, i, j, c;
char str[];
while(scanf("%d", &type) != EOF){
if(type == ){
scanf("%s ", str);
if(strcmp(str, "ADD") == ){
scanf("%*c%d,%*c%d", &a, &b);
printf("%06d%05d%05d\n", op[], num[a], num[b]);
}
else if(strcmp(str, "SUB") == ){
scanf("%*c%d,%*c%d", &a, &b);
printf("%06d%05d%05d\n", op[], num[a], num[b]);
}
else if(strcmp(str, "DIV") == ){
scanf("%*c%d,%*c%d", &a, &b);
printf("%06d%05d%05d\n", op[], num[a], num[b]);
}
else if(strcmp(str, "MUL") == ){
scanf("%*c%d,%*c%d", &a, &b);
printf("%06d%05d%05d\n", op[], num[a], num[b]);
}
else if(strcmp(str, "MOVE") == ){
scanf("%*c%d,%*c%d", &a, &b);
printf("%06d%05d%05d\n", op[], num[a], num[b]);
}
else if(strcmp(str, "SET") == ){
scanf("%*c%d", &a);
printf("%06d%05d%05d\n", op[], num[a], num[]);
}
}
else{
scanf("%s", str);
for(c = i = ; i < ; i++){
if(str[i] == ''){
c += (int)pow(, - i);
}
}
if(c > || c == ){
printf("Error!\n");
continue;
}
for(a = , i = ; i < ; i++){
if(str[i] == ''){
a += (int)pow(, - i);
}
}
if(a > || a == ){
printf("Error!\n");
continue;
}
for(b = , i = ; i < ; i++){
if(str[i] == ''){
b += (int)pow(, - i);
}
}
if(b > ){
printf("Error!\n");
continue;
}
if(c == && b != ){
printf("Error!\n");
continue;
}
if(c == && a != && b == ){
printf("%s R%d\n", op2[c], a);
continue;
}
if(c > && c < && a != && b != ){
printf("%s R%d,R%d\n", op2[c], a, b);
continue;
}
printf("Error!\n");
}
}
return ;
}
BestCoder Round#15 1002-Instruction的更多相关文章
- 暴力+降复杂度 BestCoder Round #39 1002 Mutiple
题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...
- 矩阵快速幂---BestCoder Round#8 1002
当要求递推数列的第n项且n很大时,怎么快速求得第n项呢?可以用矩阵快速幂来加速计算.我们可以用矩阵来表示数列递推公式比如fibonacci数列 可以表示为 [f(n) f(n-1)] = [f(n ...
- BestCoder Round#15 1001-Love
http://acm.hdu.edu.cn/showproblem.php?pid=5082 Love Time Limit: 2000/1000 MS (Java/Others) Memory ...
- 贪心/二分查找 BestCoder Round #43 1002 pog loves szh II
题目传送门 /* 贪心/二分查找:首先对ai%=p,然后sort,这样的话就有序能使用二分查找.贪心的思想是每次找到一个aj使得和为p-1(如果有的话) 当然有可能两个数和超过p,那么an的值最优,每 ...
- Manacher BestCoder Round #49 ($) 1002 Three Palindromes
题目传送门 /* Manacher:该算法能求最长回文串,思路时依据回文半径p数组找到第一个和第三个会文串,然后暴力枚举判断是否存在中间的回文串 另外,在原字符串没啥用时可以直接覆盖,省去一个数组空间 ...
- 二分图判定+点染色/并查集 BestCoder Round #48 ($) 1002 wyh2000 and pupil
题目传送门 /* 二分图判定+点染色:因为有很多联通块,要对所有点二分图匹配,若不能,存在点是无法分配的,no 每一次二分图匹配时,将点多的集合加大最后第一个集合去 注意:n <= 1,no,两 ...
- hdu 5195 DZY Loves Topological Sorting BestCoder Round #35 1002 [ 拓扑排序 + 优先队列 || 线段树 ]
传送门 DZY Loves Topological Sorting Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131 ...
- BestCoder Round #56 1002 Clarke and problem 1003 Clarke and puzzle (dp,二维bit或线段树)
今天第二次做BC,不习惯hdu的oj,CE过2次... 1002 Clarke and problem 和Codeforces Round #319 (Div. 2) B Modulo Sum思路差不 ...
- BestCoder Round #92 1002 Count the Sheep —— 枚举+技巧
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1002 题解: 做题的时候只是想到 ...
随机推荐
- java 大数详细讲解
介绍 java中用于操作大叔的类主要有俩种 第一个是BigInteger,代表大整数.第二个是BigDecimal,代表大浮点数.两种类的操作方法类似,所以我们只讲解BigInterger的用法 基本 ...
- 如何将基于对话框的MFC工程改成基于BCG的
1.stdafx.h 加入如下内容.BCGCBProInc.h间接导入了lib. 2.应用程序类的父类由CWinApp改成CBCGPWinApp.构造函数增加如下代码: 3.对话框的父类有CDialo ...
- 使用dynamic关键词 CS1969错误
添加 Microsoft.CSharp.dll 引用即可 不需要添加using Microsoft.CSharp 这类namespace
- PV(Pageviews)、访问(Visits)和访问者(Visitors)的区别
1. 在GA上,每个页面每次加载将被记为一次PV.举例来说,一次用户访问页面顺序为:页面A->页面B->页面A,然后离开了你的站点,那这次用户访问(Visits)的PV总计为3次. 2 ...
- JS中的柯里化(currying) 转载自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]
JS中的柯里化(currying) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpr ...
- ASPNET-ASPNETCORE 认证
话题背景 关于认证我的个人理解是,验证信息的合法性.在我们生活当中,比如门禁,你想进入一个有相对安全措施的小区或者大楼,你需要向保安或者门禁系统提供你的身份信息证明,只有确定你是小区业主,才可以进来, ...
- java 三大基本特征
java中的面向对象的三大基本特征是:[封装].[继承].[多态] 封装:对象要有一个明确的边界:边界的划分(对象各司其职.对象的粒度.对象的可重用性) 属性(bean.pojo):私有的privat ...
- html table导出到Excel中,走后台保存文件,js并调用另保存
tableToExcel工具类,此工具类指定格式的表格进行转Excel 格式:其中不能带有thead,tbody和th标签 <table> <tr> <td>表头1 ...
- 解决SublimeText 3无法安装Package Control的问题
"GOOD 解决SublimeText 3无法安装Package Control的问题 2019年4月6日Sublime Text3更新至3.2.1(BUILD 3207)版本,Sublim ...
- mysql状态查询
在监控中,都是去探测这些状态数据,然后换算到时间刻度上,像zabbix. show status like 'uptime'; --查看select语句的执行数 show [global] statu ...