Submission #315245

#TimeUsernameProblemLanguageResultExecution timeMemory
315245SeanliuCostinland (info1cup19_costinland)C++14
20 / 100
29 ms1800 KiB
#include <iostream> #define int long long int using namespace std; int D; const int maxN = 1024; char mp[maxN][maxN]; inline void solve(int D){ int cnt = 1; for(int i = 0; i < maxN; i++) for(int j = 0; j < maxN; 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){ //cout << "i: " << i << endl; //cout << "cnt = " << cnt << endl; 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); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...