hdu 1283 最简单的计算机

水题。

。。

import java.util.Scanner;

public class Main {
	static int m1, m2;
	static int r1, r2, r3;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			m1 = m2 = r1 = r2 = r3 = 0;
			m1 = sc.nextInt();
			m2 = sc.nextInt();
			String order = sc.next();
			for (int i = 0; i < order.length(); i++) {
				calculate(order.charAt(i));
			}
			System.out.println(m1 + "," + m2);
		}
	}

	public static void calculate(char ch) {
		switch (ch) {
		case ‘A‘:
			r1 = m1;
			break;
		case ‘B‘:
			r2 = m2;
			break;
		case ‘C‘:
			m1 = r3;
			break;
		case ‘D‘:
			m2 = r3;
			break;
		case ‘E‘:
			r3 = r1 + r2;
			break;
		case ‘F‘:
			r3 = r1 - r2;
			break;
		default:
			break;
		}
	}
}

最简单的计算机

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 5549    Accepted Submission(s): 3079

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

Author

SmallBeer(CML)

时间: 2024-10-29 10:45:38

hdu 1283 最简单的计算机的相关文章

HDU 1283 最简单的计算机(简单模拟)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1283 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:将

杭电 HDU ACM 1283 最简单的计算机

最简单的计算机 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5238    Accepted Submission(s): 2967 Problem Description 一个名叫是PigHeadThree的研究组织设计了一台实验用的计算机,命名为PpMm.PpMm只能执行简单的六种命令A,B,C,D,E,F:只有二个内存M1,M

(HDU)1283 -- 最简单的计算机

题目链接:http://vjudge.net/problem/HDU-1283 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <iostream> 5 #include <algorithm> 6 #include <string> 7 #include <cstdlib> 8 9 using namespace std; 10

HDU 2119 Matrix 简单二分匹配

行做x集,列做y集,1就给该行该列连一条边,输出最大匹配边即可 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<vector> #include<set> using namespace std; #define N 105 int lef[N], pn;//lef[v]表示Y集的点v 当前连接的点 , pn为x点集的

hdu 4416 水题 浙大计算机研究生复试上机考试-2005年 可是发现自己写代码有问题

Spring3与Hibernate4整合时出现了nested exception is java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider. hibernate3的时候,用spring来控制sessionfactory用的可以是org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean,因为用的是hibernate4所以照猫画

hdu 1520Anniversary party(简单树形dp)

Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4310    Accepted Submission(s): 1976 Problem Description There is going to be a party to celebrate the 80-th Anniversary of the

hdu 4493 Tutor(简单处理题)

http://acm.hdu.edu.cn/showproblem.php?pid=4493 题意是输入12个数据,让你求平均值,但是要去除尾零,就像100.00只要输出100 其实这题有点不严密,像这组数据 2 100.995 100.995 100.995 100.995 100.995 100.995 100.995 100.995 100.995 100.995 100.995 100.995 输出100,其他可以过的输出100.10以及101都可以 用自己的方法死活不可以过,上网搜了一

1037: 最简单的计算机

1037: 最简单的计算机 时间限制: 1 Sec  内存限制: 128 MB提交: 187  解决: 134[提交][状态][讨论版] 题目描述 一个名叫是 PigHeadThree 的研究组织设计了一台实验用的计算机,命名为 PpMm.PpMm只能执行简单的六种命令 A,B,C,D,E,F:只有二个内存 M1,M2:三个寄存器 R1,R2,R3.六种命令的含义如下:命令 A:将内存 M1 的数据装到寄存器 R1 中:命令 B:将内存 M2 的数据装到寄存器 R2 中:命令 C:将寄存器 R3

HDU 4793 Collision + HDU 4798 Skycity 简单几何

HDU 4793 链接:http://acm.hdu.edu.cn/showproblem.php?pid=4793 题意:给一个以(0,0)为圆心半径为R的圆形区域,中间放着一个(0,0)为圆心半径为Rm的圆盘,在坐标(x,y)处(严格在圆形区域外)放着一枚半径为r的硬币,运动方向和速度为(vx,vy),在运动中碰到圆盘时,会按碰撞问题反弹(圆盘是固定不动的),问硬币会在圆形区域里呆多长时间(硬币只要有一点点在圆形区域里就记为硬币在圆形区域内). 思路:首先先计算出硬币在移动过程中如果不与圆盘