计算机模拟(hd1283)

最简单的计算机

Problem Description

一个名叫是PigHeadThree的研究组织设计了一台实验用的计算机,命名为PpMm。PpMm只能执行简单的六种命令A,B,C,D,E,F;只有二个内存M1,M2;三个寄存器R1,R2,R3。六种命令的含义如下:
  命令A:将内存M1的数据装到寄存器R1中;
  命令B:将内存M2的数据装到寄存器R2中;
  命令C:将寄存器R3的数据装到内存M1中;
  命令D:将寄存器R3的数据装到内存M2中;
  命令E:将寄存器R1中的数据和寄存器R2中的数据相加,结果放到寄存器R3中;
  命令F:将寄存器R1中的数据和寄存器R2中的数据相减,结果放到寄存器R3中。
你的任务是:设计一个程序模拟PpMm的运行。

Input

有若干组,每组有2行,第一行是2个整数,分别表示M1和M2中的初始内容;第二行是一串长度不超过200的由大写字母A到F组成的命令串,命令串的含义如上所述。

Output

对应每一组的输入,输出只有一行,二个整数,分别表示M1,M2的内容;其中M1和M2之间用逗号隔开。

其他说明:R1,R2,R3的初始值为0,所有中间结果都在-2^31和2^31之间。

Sample Input

100 288

ABECED

876356 321456

ABECAEDBECAF

Sample Output

388,388

2717080,1519268

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 int main()
 6 {
 7     int M1,M2;
 8     while(cin>>M1>>M2)
 9     {
10         int i;
11         int R1=0,R2=0,R3=0;
12         getchar();
13         char a[201];
14         gets(a);
15         for(i=0;a[i]!=‘\0‘;i++)
16         {
17             if(a[i]==‘A‘)
18                 R1=M1;
19             if(a[i]==‘B‘)
20                 R2=M2;
21             if(a[i]==‘C‘)
22                 M1=R3;
23             if(a[i]==‘D‘)
24                 M2=R3;
25             if(a[i]==‘E‘)
26                 R3=R1+R2;
27             if(a[i]==‘F‘)
28                 R3=R1-R2;
29         }
30         cout<<M1<<‘,‘<<M2<<endl;
31     }
32 }
时间: 2024-10-27 05:18:57

计算机模拟(hd1283)的相关文章

孟德尔自由组合定理--计算机模拟

#coding=utf-8#孟德尔自由组合定理 import copy #大写字母表示显性基因,小写字母表示隐性基因#gene,如D或d#基因型genotypegenotype11=['Y','Y']genotype12=['y','y']genotype13=['Y','y']genotype21=['R','R']genotype22=['r','r']genotype23=['R','r']DNA1=[genotype13,genotype23]DNA2=[genotype12,genot

CSys 128位CPU及计算机模拟与中英文双语编程环境

本软件分为两大部分.一个是Csys指令集的128位支持中英文指令的虚拟计算机模拟器.一个是基于这种计算机的中英文汇编编译的环境.另外还有些小工具. 欢迎使用本软件. 本软件包括<中文汇编语言编译器>软件.是配套CRISC128型CPU计算机使用的在PC机上的交叉汇编器. 本软件包括一种中英文双语的128位精简指令集CPU计算机的模拟器.可以模拟该CPU和外设的基本功能. 本软件可以模拟的外设包括虚拟显示器.模拟软驱.模拟硬盘.鼠标.键盘.模拟串口.模拟并口.定时器. 下载地址

java面试题大全

java面试笔试题大汇总     第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 这个问得很少. 第五,HashMap和Hashtable的区

用蒙特卡洛方法计算派-python和R语言

用蒙特卡洛方法算pi-基于python和R语言 最近follow了MOOC上一门python课,开始学Python.同时,买来了概率论与数理统计,准备自学一下统计.(因为被鄙视过不是统计专业却想搞数据分析) 有趣的是书里面有一块讲蒲丰投针计算Pi,这是一种随机模拟法,也就是蒙特卡洛法.蒲丰投针之于我太难,暂时没想到怎么用计算机模拟这一过程. python课中,老师也提到用随机模拟法,也就是蒙特卡洛法(MonteCarlo),用计算机模拟几千次实验,计算pi的近似值.好巧. 就拿python课中的

反应扩散方程与图灵图(世间万物神秘的斑图)

1952年,被后人称为计算机科学之父的著名英国数学家图灵(A.M.Turing)把他的目光转向生物学领域.他在著名论文"形态形成的化学基础"中nl,用一个反应扩散模型成功地说明了某些生物体表面所显示的图纹(如斑马身上的斑图)是怎样产生的 . 你或许会疑惑,斑马的条纹.猎豹的斑纹是怎样形成的等等,计算机之父图灵已经给我们明确的解释,或许我们可以从化学反应中得到一些启示,最经典的莫过于b-z反应了,这种反应扩散系统的随机性是其对称性遭到突破,也就是这种系统存在着失去稳定的情况.系统往往伴随

杭州软装培训:软装设计师必须掌握的理论知识

鉴于目前国内软装市场的发展,衍生出一些软装设计培训以及软装设计工作室等机构,杭州五色光与行业机构共同规范和推动软装行业的发展. 一般而言,软装设计师都遵循类似的步骤进行设计,为特定的设计问题提供某个解决方案,设计流程的关键是快速迭代,换言之,建立快速原型,通过用户反馈改进设计方案. 软装设计步骤的要点: 用户调研 通过用户调研的手段(介入观察.非介入观察, 访谈等), 软装设计师调查了解用户及其相关使用的场景,以便对其有深刻的认识(主要包括用户使用时候的心理模式和行为模式),从而为后继设计提供良

机器学习笔记-CNN-神经网络

转自:http://blog.csdn.net/kevin_bobolkevin/article/details/50494034 深度学习之一---什么是神经网络 刚开始学习深度学习,最近把所学的整理了一下,也是对所学的一个总结. 深度学习的概念源于人工神经网络的研究.为了更好地理解深度学习,首先要先了解下什么是神经网络,它的工作原理.应用及发展. 逻辑性的思维是指根据逻辑规则进行推理的过程:它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理:这一过程可以写成串行的指令

算法笔记_113:算法集训之代码填空题集一(Java)

 目录 1 报数游戏 2 不连续处断开 3 猜数字游戏 4 串的反转 5 串中找数字 6 递归连续数 7 复制网站内容 8 股票的风险 9 基因牛的繁殖 10 括号的匹配   1 报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止.问剩下第几个孩子.下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替). Vector a = new Vector(); for(in

蓝桥--兰顿蚂蚁

兰顿蚂蚁 时间限制:1.0s   内存限制:256.0MB 问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只“蚂蚁”. 蚂蚁的头部朝向为:上下左右其中一方. 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格: 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格. 规则虽然简单,蚂蚁的行为却十分复杂.刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,