HDU1283 最简单的计算机【模拟】
生活随笔
收集整理的這篇文章主要介紹了
HDU1283 最简单的计算机【模拟】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最簡單的計算機
Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7774????Accepted Submission(s): 4379
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)
Source 杭電ACM集訓隊訓練賽(VII)
問題鏈接:HDU1283 最簡單的計算機
問題簡述:參見上文。
問題分析:一個簡單的模擬題。
程序說明:(略)題記:(略)
AC的C語言程序如下:
/* HDU1283 最簡單的計算機 */#include <stdio.h>#define N 200char command[N+1];int main(void) {int m1, m2, r1, r2, r3;while(scanf("%d%d", &m1, &m2) != EOF) {scanf("%s", command);r1 = r2 = r3 = 0;int i = 0;while(command[i]) {if(command[i] == 'A')r1 = m1;else if(command[i] == 'B')r2 = m2;else if(command[i] == 'C')m1 = r3;else if(command[i] == 'D')m2 = r3;else if(command[i] == 'E')r3 = r1 + r2;else if(command[i] == 'F')r3 = r1 - r2;i++;}printf("%d,%d\n", m1, m2);}return 0; }AC的C++語言程序如下:
/* HDU1283 最簡單的計算機 */#include <iostream>using namespace std;int main() {int m1, m2, r1, r2, r3;string command;while(cin >> m1 >> m2) {cin >> command;r1 = r2 = r3 = 0;int i = 0;while(command[i]) {if(command[i] == 'A')r1 = m1;else if(command[i] == 'B')r2 = m2;else if(command[i] == 'C')m1 = r3;else if(command[i] == 'D')m2 = r3;else if(command[i] == 'E')r3 = r1 + r2;else if(command[i] == 'F')r3 = r1 - r2;i++;}cout << m1 << "," << m2 << endl;}return 0; }
轉載于:https://www.cnblogs.com/tigerisland/p/7563600.html
總結
以上是生活随笔為你收集整理的HDU1283 最简单的计算机【模拟】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zepp life怎么设置闹钟
- 下一篇: 一个生产的shell脚本