【HDOJ】1341 Simple Computers
注意PC要与31.
#include <cstdio>
#include <cstring>
#include <cstdlib> #define MAXN 40
#define MAXL 10 char mem[MAXN][MAXL];
char ans[MAXL]; int getv(char s[], int i, int j) {
int ret = ; while (i < j) {
ret = (ret<<) + s[i] - '';
++i;
} return ret;
} void store(char s[], unsigned char acc) {
int i = ;
int v = (int)acc;
int mask = 0x80; for (i=; i<; ++i) {
if (v & mask) {
s[i] = '';
} else {
s[i] = '';
}
mask >>= ;
}
s[i] = '\0';
} void solve() {
int op, addr;
int tmp;
bool nhalt = true;
unsigned char acc = ;
int pc = ; while (nhalt) {
pc &= 0x1f;
op = getv(mem[pc], , );
addr = getv(mem[pc], , );
++pc;
switch (op) {
case :
store(mem[addr], acc);
break; case :
tmp = getv(mem[addr], , );
acc = (unsigned char) tmp;
break; case :
if (acc == )
pc = addr;
break; case :
break; case :
--acc;
break; case :
++acc;
break; case :
pc = addr;
break; case :
nhalt = false;
break; default:
break;
}
} store(ans, acc);
} int main() {
int i; #ifndef ONLINE_JUDGE
freopen("data.in", "r", stdin);
#endif while () {
i = ;
if (scanf("%s", mem[i++]) == EOF)
break;
while (i < )
scanf("%s", mem[i++]);
solve();
printf("%s\n", ans);
} return ;
}
【HDOJ】1341 Simple Computers的更多相关文章
- 【HDOJ】2451 Simple Addition Expression
递推,但是要注意细节.题目的意思,就是求s(x) = i+(i+1)+(i+2),i<n.该表达中计算过程中CA恒为0(包括中间值)的情况.根据所求可推得.1-10: 31-100: 3*41- ...
- 【HDOJ】1497 Simple Library Management System
链表. #include <cstdio> #include <cstring> #include <cstdlib> #define MAXM 1001 #def ...
- 【BZOJ3489】A simple rmq problem(KD-Tree)
[BZOJ3489]A simple rmq problem(KD-Tree) 题面 BZOJ 题解 直接做肯定不好做,首先我们知道我们是一个二维平面数点,但是限制区间只能出现一次很不好办,那么我们给 ...
- 【BZOJ3489】A simple rmq problem
[BZOJ3489]A simple rmq problem 题面 bzoj 题解 这个题不强制在线的话随便做啊... 考虑强制在线时怎么搞 预处理出一个位置上一个出现的相同数的位置\(pre\)与下 ...
- 【BZOJ3489】A simple rmq problem kd-tree
[BZOJ3489]A simple rmq problem Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过 ...
- 【poj3468】A Simple Problem with Integers
Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 97008 Accepted: 30285 Case Time Limi ...
- 【HDOJ】4267 A Simple Problem with Integers
树状数组.Easy. /* 4267 */ #include <iostream> #include <string> #include <map> #includ ...
- 【HDOJ】1088 Write a simple HTML Browser
题目其实不难,但是要注意题目的要求,当前字数(>0)+当前单词长度+1若超过80则需要回车后,输出当前word,并且重新计数.这道题目的数据感觉比较水,不过测试的时候,最后使用fprintf输出 ...
- 【HDOJ】4972 A simple dynamic programming problem
水题. #include <cstdio> #include <cstring> #include <cstdlib> int abs(int x) { ? -x: ...
随机推荐
- asp.net using library ClosedXML to export excel
Reference: http://closedxml.codeplex.com/ 1. First add refenrence ClosedXML.dll and DocumentFormat. ...
- Android SimpleAdapter ListView (锁定手机,解锁手机的列表)
SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局. 构造方法: SimpleAdapter(Context context, List<? extends Map< ...
- TCP服务器:多进程
代码: server: #include<netinet/in.h> #include<sys/socket.h> #include<sys/wait.h> #in ...
- linux lvm的操作手册_pvcreate_vgcreate_lvcreate_相关
一. 前言 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某 个分区需要的容量,还要预见该分区以后可能需 ...
- python安装MySQLdb(Windows环境)
1.下载 http://www.codegood.com/downloads 我的win7 64位.Python2.7.8版本,所以选择MySQL-python-1.2.3.win-amd64-py2 ...
- c#委托中另外一种用法
在c#委托中,经常可能遇到函数重载的情况,可是又需要在一个函数中调用这些函数,一般我都是根据多个函数重载个数,也写上这么多个函数重载.比如 public double T1(int r) { retu ...
- noip 2012 开车旅行
/*考场上写的暴力 40分钟70分*/ #include<iostream> #include<cstdio> #include<cstring> #define ...
- javascript !!的作用是把一个其他类型的变量转成的bool类型
!!的作用是把一个其他类型的变量转成的bool类型
- 手机Web网站,设置拒绝电脑访问
最近一段时间,都在使用Jquery-Mobile + MVC做手机Web,有一些心得.体会 下面介绍如何拒绝电脑访问手机网站 电脑的浏览器,跟手机的浏览器内核不一样,这是我设置拒绝访问的思路. 下面是 ...
- Max Min Middle
/*三者中的中间数*/#define Max(a,b) (a>b?a:b) #define Min(a,b) (a<b?a:b) int MiddleOfThree(int a, int ...