三个AC,两个RE,咋回事
查看原帖
三个AC,两个RE,咋回事
1360231
朱梓涵2012楼主2024/9/24 22:02
#include <iostream>
using namespace std;
int main(){
	int tubes[10][8] = {
		{6,0,1,2,4,5,6},{2,2,5},{5,0,2,3,4,6},{5,0,2,3,5,6},
		{4,1,2,3,5},{5,0,1,3,5,6},{6,0,1,3,4,5,6},{3,0,2,5},
		{7,0,1,2,3,4,5,6},{6,0,1,2,3,5,6}
	};
	int dot[7][3][2] = {
		{{0,0},{0,1},{0,2}}, 
		{{0,0},{1,0},{2,0}},  
		{{0,2},{1,2},{0,2}}, 
		{{2,0},{2,1},{2,2}},
		{{2,0},{3,0},{4,0}},
		{{2,2},{3,2},{4,2}},
		{{4,0},{4,1},{4,2}}  
	} ;
	char num [110], out [5][500];
	int n;
	cin >> n;
	for(int i = 0; i < n;i++){
		cin >> num[i];
	}
	for(int  i = 0 ; i <= 5; i++){
		for(int  j = 0;j < 4 * n - 1;j++){
			out[i][j] = '.';
		}
	}
	for(int i = 0;i < n;i++){
		int basex = 0,basey = i * 4,dight = num[i] - '0';
		
		for(int j = 1 ;j<=tubes[dight][0];j++){
			int tubenum = tubes[dight][j];
			out[basex+dot[tubenum][0][0]][basey+dot[tubenum][0][1]] = 'X';
			out[basex+dot[tubenum][1][0]][basey+dot[tubenum][1][1]] = 'X';
			out[basex+dot[tubenum][2][0]][basey+dot[tubenum][2][1]] = 'X';
		}
	}
	for(int i = 0;i < 5;i++,cout << endl)
		for(int j = 0;j <4 * n - 1; j++)
				cout << out [i][j];
	return 0;
}
2024/9/24 22:02
加载中...