답안 #315239

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
315239 2020-10-22T06:09:02 Z Seanliu Costinland (info1cup19_costinland) C++14
20 / 100
2 ms 844 KB
#include <iostream>
#define int long long int
using namespace std;

int D;
char mp[512][512];

inline void solve(int D){
	int cnt = 1;			
	for(int i = 0; i < 512; i++) for(int j = 0; j < 512; j++) mp[i][j] = '.';
	mp[0][0] = 'd';
	D--;
	if(D & 1){
		mp[0][0] = 'X';
		D--;
	}
	for(int i = 1; i < 63; i++){
		if((D >> i) & 1){
			mp[cnt][0] = 'X'; 
			for(int j = 0; j < i; j++){
				for(int k = 0; k < i; k++){
					mp[cnt + j][cnt + k] = (j + k < i ? 'X' : '.');
				}
			}
			cnt += i;
		}
	}	
	cnt++;
	for(int i = 0; i < cnt - 1; i++){
		mp[cnt - 1][i] = 'r';
		mp[i][cnt - 1] = 'd';
	}
	cout << cnt << " " << cnt << endl;
	for(int i = 0; i < cnt; i++){
		for(int j = 0; j < cnt; j++){
			cout << mp[i][j];
		}
		cout << endl;
	}
}

signed main(){
	cin >> D;
	if(D == 3){
		cout << "3 3\nrXd\n.Xd\nrr.\n";
	} else if(D == 4){
		cout << "3 3\nXXd\nX.d\nrr.\n";
	} else if(D == 5){
		cout << "5 5\nXXXXd\n....d\n....d\n....d\nrrrr.\n";
	} else if(D == 6){
		cout << "5 5\nXXXXd\nX...d\n....d\n....d\nrrrr.\n";
	} else if(D == 7){
		cout << "5 5\nXXXXd\nX...d\nX...d\n....d\nrrrr.\n";
	} else if(D == 8){
		cout << "5 5\nXXXXd\nX...d\nX...d\nX...d\nrrrr.\n";
	} else if(D == 9){
		cout << "5 5\nXXX.d\n.XX..d\nX...d\nX...d\nrrrr.\n";
	} else if(D == 10){
		cout << "5 5\nXXX.d\nXXX.d\n....d\n....d\nrrrr.\n";	
	} else if(D == 11){
		cout << "5 5\nXXX.d\nXXX.d\nX...d\n....d\nrrrr.\n";	
	} else if(D == 12){
		cout << "5 5\nXXX.d\nXXX.d\nX...d\nX...d\nrrrr.\n";	
	} else if(D == 13){
		cout << "5 5\nXXXXd\n.XXXd\n..X.d\n....d\nrrrr.\n";	
	} else if(D == 14){
		cout << "5 5\nXXXXd\n.XXXd\n...Xd\n....d\nrrrr.\n";	
	} else if(D == 15){
		cout << "5 5\nXXXXd\n.XXXd\n...Xd\nX...d\nrrrr.\n";	
	} else if(D == 16){
		cout << "5 5\nXXXXd\n.XXXd\n.X.Xd\n....d\nrrrr.\n";	
	} else if(D == 17){
		cout << "5 5\nXXXXd\n.XXXd\n.X.Xd\nX...d\nrrrr.\n";	
	} else if(D == 18){
		cout << "5 5\nX.X.d\nXXX.d\nXXX.d\n..X.d\nrrrr.\n";
	} else if(D == 19){
		cout << "5 5\nX.XXd\nXXX.d\nXXX.d\n..X.d\nrrrr.\n";
	} else {
		solve(D);
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Correct! Your size: 3
2 Correct 1 ms 204 KB Correct! Your size: 3
3 Correct 1 ms 204 KB Correct! Your size: 5
4 Correct 1 ms 204 KB Correct! Your size: 5
5 Correct 1 ms 204 KB Correct! Your size: 5
6 Correct 1 ms 204 KB Correct! Your size: 5
7 Correct 1 ms 204 KB Correct! Your size: 5
8 Correct 1 ms 204 KB Correct! Your size: 5
9 Correct 1 ms 204 KB Correct! Your size: 5
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 844 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -