Sicily 11157. Crossword
来源:互联网 发布:连接数据库的方法 编辑:程序博客网 时间:2024/05/29 04:30
11157. Crossword
Description
Mirko has assembled an excellent crossword puzzle and now he wants to frame it. Mirko's crossword puzzle consists of M x N letters, and the frame around it should be U characters wide on top, L characters on the left, R characters on the right and D characters on the bottom side. The frame consists of characters # (hash) and . (dot) which alternate like fields on a chessboard. These characters should be arranged in a way that, if the frame is expanded to cover the entire crossword puzzle and we treat these characters as a chessboard, the # characters should be placed as the red fields on a chessboard (i.e. the top left field). See the examples below for a better understanding of the task.
Input
The first line of input contains two integers M and N (1 ≤ M, N ≤ 10). The second line of input contains integers U, L, R, D (0 ≤ U, L, R, D ≤ 5). The following M lines of input contains N characters – lowercase letters of the English alphabet. These lines represent Mirko's crossword puzzle.
Output
Output the framed crossword puzzle as stated in the text.
Sample Input
样例1:4 42 2 2 2honiokernerairak样例2:2 41 0 3 1rimamama
Sample Output
样例1:#.#.#.#..#.#.#.##.honi#..#oker.##.nera#..#irak.##.#.#.#..#.#.#.#样例2:#.#.#.#rima.#.mama#.#.#.#.#.
// Problem#: 11157// Submission#: 3719849// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/// All Copyright reserved by Informatic Lab of Sun Yat-sen University#include <algorithm>#include <iostream>#include <string>#include <cstdio>#include <queue>#include <cstring>#include <vector>#include <iomanip>#include <map>#include <stack>#include <list>using namespace std;int main() { int n, m; cin >> n >> m; int u, l, r, d; cin >> u >> l >> r >> d; vector<vector<char> > b(n + u + d); for (int i = 0; i < b.size(); i++) { vector<char> line(m + l + r); b[i] = line; } for (int i = 0; i < b.size(); i++) { for (int j = 0; j < b[i].size(); j++) { if ((i + j) % 2) b[i][j] = '.'; else b[i][j] = '#'; } } for (int i = 0; i < n; i++) { string s; cin >> s; for (int j = 0; j < s.size(); j++) { b[u + i][l + j] = s[j]; } } for (int i = 0; i < b.size(); i++) { for (int j = 0; j < b[i].size(); j++) { cout << b[i][j]; } cout << endl; } return 0;}
0 0
- Sicily 11157. Crossword
- Sicily 11157. Crossword
- Crossword Answers
- Crossword Answers
- Crossword Answers
- Crossword Answers
- 史上最牛的Crossword
- There are two crossword
- uva 232 - Crossword Answers
- uva 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa 232 - Crossword Answers
- UVa-232 - Crossword Answers
- Uva-232 - Crossword Answers
- uva---232--- Crossword Answers
- UVa 232 Crossword Answers
- 232 - Crossword Answers
- UVa 232 - Crossword Answers
- 第九周阅读程序一:学生信息管理系统
- sqlserver 即席连接外部数据
- win8下调出windows defender
- git多人协作开发流程(以blog为例)
- Android学习个人笔记-百度地图定位sdk的使用
- Sicily 11157. Crossword
- 网络编程
- 黑马程序员--Java基础总结
- iOS UIFont(转载)
- [iOS学习笔记]自学过程中积累的知识点(一)
- 服务器证书无效的解决办法
- Android服务端开发1-使用Eclipse搭建Java Web服务端
- Leetcode Happy Number
- rviz显示地图