UVa 10033 - Interpreter
题目大意:模拟题,有一些寄存器和随机访问内存,给你一些指令以及它们代表的操作,模拟操作即可。
#include <cstdio>
#include <cstring>
#define REGN 10
#define RAMN 1000 int reg[REGN], ram[RAMN]; int main()
{
#ifdef LOCAL
freopen("in", "r", stdin);
//freopen("out", "w", stdout);
#endif
int n;
scanf("%d", &n);
getchar();
char s[];
fgets(s, sizeof(s), stdin);
bool first = true;
while (n--)
{
memset(ram, , sizeof(ram));
int k = ;
while (fgets(s, sizeof(s), stdin))
{
if (s[] == '\n') break;
sscanf(s, "%d", &ram[k]);
k++;
}
int p = ; // p point to the location that will execute
int cnt = ;
memset(reg, , sizeof(reg));
bool end = false;
while (!end)
{
//printf("%d\n", ram[p]);
int hund = ram[p] / ;
int ten = (ram[p] % ) / ;
int unit = ram[p] % ;
cnt++;
switch(hund)
{
case :
if (ram[p] == )
{
end = true;
break;
}
case :
reg[ten] = unit;
p++;
break;
case :
reg[ten] += unit;
reg[ten] %= ;
p++;
break;
case :
reg[ten] *= unit;
reg[ten] %= ;
p++;
break;
case :
reg[ten] = reg[unit];
p++;
break;
case :
reg[ten] += reg[unit];
reg[ten] %= ;
p++;
break;
case :
reg[ten] *= reg[unit];
reg[ten] %= ;
p++;
break;
case :
reg[ten] = ram[reg[unit]];
p++;
break;
case :
ram[reg[unit]] = reg[ten];
p++;
break;
case :
if (reg[unit] != ) p = reg[ten];
else p++;
break;
}
}
if (first) first = false;
else printf("\n");
printf("%d\n", cnt);
}
return ;
}
第一次没在输出之间加一个空行,WA了,又粗心了...同时,又一次疑惑,uva对这种情况是判别为WA而不是PE吗?
UVa 10033 - Interpreter的更多相关文章
- PC/UVa 题号: 110106/10033 Interpreter (解释器)题解 c语言版
, '\n'); #include<cstdio> #include<iostream> #include<string> #include<algorith ...
- (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO
http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...
- ACM训练计划step 1 [非原创]
(Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成 ...
- 算法竞赛入门经典+挑战编程+USACO
下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinej ...
- [工作中的设计模式]解释器模式模式Interpreter
一.模式解析 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 以上是解释器模式的类图,事实上我 ...
- 解释器模式Interpreter详解
原文链接:https://www.cnblogs.com/java-my-life/archive/2012/06/19/2552617.html 在阎宏博士的<JAVA与模式>一书中开头 ...
- Dreamweaver 扩展开发:C-level extensibility and the JavaScript interpreter
The C code in your library must interact with the Dreamweaver JavaScript interpreter at the followin ...
- OpenCASCADE Expression Interpreter by Flex & Bison
OpenCASCADE Expression Interpreter by Flex & Bison eryar@163.com Abstract. OpenCASCADE provide d ...
- PhpStorm和WAMP配置调试参数,问题描述Error. Interpreter is not specified or invalid. Press “Fix” to edit your project configuration.
PhpStorm和WAMP配置调试参数 问题描述: Error. Interpreter is not specified or invalid. Press “Fix” to edit your p ...
随机推荐
- hdu_2688_Rotate(树状数组)
题目连接:hdu_2688_Rotate 题意:给你n数,(n<=3e6),有两个操作,Q为 当前有多少对数,满足严格递增,R l,r为旋转l,r这个区间的数 题解:求严格递增的顺序对我们可以反 ...
- nginx及php版本号隐藏
配置完一台服务器后,并不是就可以高枕无忧了,前不久刚刚爆发的PHP 5.3.9版本的漏洞也搞得人心惶惶,所以说经常关注安全公告并及时升级服务器也是必要的.一般来说,黑客攻击服务器的首要步骤就是收集信息 ...
- KVO & 通知 小记
KVO的全称是Key-Value Observing,它实现了一种机制,对所关心的属性对象添加观察者,当属性值发生变化时会得到通知,我们可以对变化做相应的处理.看过设计模式的同学应该知道,这是一种典型 ...
- Web安全检测工具的使用.
Nikto2 Nikto2是一款使用perl语言写的多平台扫描软件,是一款命令行模式的工具,它可以扫描指定主机的WEB类型 主机名.特定目录.Cookie.特定CGI漏洞.XSS漏洞.sql注入漏洞. ...
- 64位win7系统下面安装pyOpenSSL
原文地址:http://blog.csdn.net/xinsuixiaofeiyu/article/details/40350067 最近想装一个scrapy玩下爬虫,虚拟机Linux下面倒是很好安装 ...
- iomanip头
#include <iomanip>主要是输入输出控制. Dec 十进制: hex 十六进制: oct 八进制: setw 设置宽度: setfill 设置填充值: setbase 将数字 ...
- 树列复选框Extjs
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- /system改成可写
读写: mount -o remount,rw /dev/block/mtdblock0 /system 只读mount -o remount,ro /dev/block/mtdblock0 /sys ...
- Java中Date对象与String互转
package com.java.test; import java.text.ParseException; import java.text.SimpleDateFormat; import ja ...
- PDF 补丁丁 0.5 正式版发布
经过了两年的测试,新版本的 PDF 补丁丁已经比较稳定了.在农历新年前发布这个 0.5 版,作为正式稳定版吧. 新的 PDF 补丁丁比旧的 0.3 版增加了许多功能: PDF 可视化编辑文档书签,可从 ...