csp 201512-3绘图(解析)
发布时间
阅读量:
阅读量
思路
这道题目整体而言并不复杂!我们需要应对两种类型的处理步骤:
1.绘制边框
2.在边框内部完成填充
第一种操作
我们采用一个足够大的二维数组来存储字符信息。当 ‘-’ 遇到 ‘+’ 或者 ‘|’ 时,对应位置应当被设置为 ‘+’ ,其余情况则填充为 ‘-’。
同样地,当 ‘|’ 遇到 ‘+’ 或者 ‘-’ 时,对应位置应设定为 ‘+’ ,否则则填充为 ‘|’。
第二种操作
第二种操作与图的广度优先搜索方式存在相似之处!通过简单的递归方式即可完成该过程的实现。
C++代码
#include <bits/stdc++.h>
using namespace std;
char arr[101][101];
int m,n;
//划线操作
void line(int l1,int h1,int l2,int h2){
if(l1==l2){
if(h1<h2){
for(int i=h1;i<=h2;i++){
if(arr[i][l1]=='-'||arr[i][l1]=='+'){
arr[i][l1]='+';
}else{
arr[i
全部评论 (0)
还没有任何评论哟~
