/* 題目: UVa 11956 - Brainfuck
* Language: C++
* Created on: 2016年05月01日
* Author: hanting
*/
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int CaseN = 1;
int testCase = 0;
cin >> testCase;
cin.get();
while(testCase--)
{
cout << dec << "Case " << CaseN++ << ":";
string ins;
getline(cin, ins);
unsigned char memory[100] = {};
int ptr = 0;
for(int i = 0; i < ins.size(); i++)
{
if(ins[i] == '+') memory[ptr]++;
else if(ins[i] == '-') memory[ptr]--;
else if(ins[i] == '>') ptr++;
else if(ins[i] == '<') ptr--;
if(ptr < 0) ptr = 99;
else if(ptr > 99) ptr = 0;
}
for(int i = 0; i < 100; i++)
{
cout << " ";
cout << setw(2);
cout << uppercase << setfill('0') << hex << (int)memory[i];
}
cout << endl;
}
return 0;
}
2016年5月1日 星期日
[UVA] 11956 - Brainfuck
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言