📄 2173.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 2173 on 2006-03-13 at 12:27:18 */
#include <cstdio>
#include <algorithm>
using namespace std;
const int SIZE = 10;
char board[SIZE][SIZE];
int n;
bool over;
void write(int&, int&, char);
int main()
{
int i, j, t, line;
for(t = 1; scanf("%d", &n) != EOF && n != 0; t++) {
int r = 0, c = 0; char ch = getchar();
over = true; memset(board, ' ', sizeof(board));
for(line = 0; line < n; line++) {
while(true) {
if((ch = getchar()) == '\n') break;
else if(ch != '^') write(r, c, ch);
else {
ch = getchar();
switch(ch) {
case 'b': c = 0; break;
case 'c': memset(board, ' ', sizeof(board)); break;
case 'd': r = min(r+1, 9); break;
case 'e': for(i = c; i < SIZE; i++) board[r][i] = ' '; break;
case 'h': r = c = 0; break;
case 'i': over = false; break;
case 'l': c = max(c-1, 0); break;
case 'o': over = true; break;
case 'r': c = min(c+1, 9); break;
case 'u': r = max(r-1, 0); break;
case '^': write(r, c, '^'); break;
default: r = ch - '0'; c = getchar() - '0'; break;
}
}
}
}
printf("Case %d\n", t);
printf("+----------+\n");
for(i = 0; i < SIZE; i++) {
putchar('|');
for(j = 0; j < SIZE; j++) putchar(board[i][j]);
printf("|\n");
}
printf("+----------+\n");
}
return 0;
}
void write(int& r, int& c, char s)
{
int i;
if(!over)
for(i = SIZE-1; i > c; i--) board[r][i] = board[r][i-1];
board[r][c] = s;
c = min(c+1, 9);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -