【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: ...
随机推荐
- js常用自编函数整理
1.替换js地址栏参数值 //destiny是目标字符串,比如是http://www.huistd.com/?id=3&ttt=3 //par是参数名,par_value是参数要更改的值,调用 ...
- Object -C @property -- 笔记
避免函数名和字段重复: 代码:
- js中widow.open()方法详解
一. window.open() 支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二.基本语法: window.open(pageURL,nam ...
- android插件化-获取apkplug框架已安装插件-03
上一篇文章成功的将apkplug框架嵌入了应用中而且启动 链接http://www.apkplug.com/blog/?post=10 这一篇文章实现怎样获取全部已安装插件 一 获取框架的System ...
- 【iOS与EV3混合机器人编程一系列五个】iOS_WiFi_EV3_Library 解剖连接EV3
在上一篇文章中.我们解说了怎样用开源码库CocoaAsyncSocket来实现iOS上的UDP和TCP数据通信.那么在本文中.我们将介绍在CocoaAsyncSocket的基础怎样使用UDP和TCP连 ...
- Ecstore关于finder的默认的参数row的数据不见了的一些小问题?
在finder中,我们经常对默认的参数row进行数据的编辑处理,然而,在实际处理中,会遇到这么一个问题,该处理的数据不见了,造成这一原因的重要原 因是因为在设置的时候,把某些字段屏蔽掉了,导致返回的r ...
- 用MS自带的VS构建joint语句
在其中一个表上,右键,选择"New Query",弹出"Add Table"对话框,将待joint的两个表Add,并选择相应字段,则会自动构建joint语句,其 ...
- 我对Backbone中url属性的理解
Model中有一个url属性,而且有一个urlRoot属性. Collection中也有一个url属性. // 这是Model中的url方法 url: function() { var base = ...
- Asp.net Repeater控件
Repeater控件和DataList控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出 ...
- php 通过ip获取地理位置
<?php header('Content-Type:text/html;Charset=utf-8'); function GetIp(){ $realip = ''; $unknown = ...