日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU1283 最简单的计算机【模拟】

發布時間:2023/12/31 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 最简单的计算机【模拟】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。