admin 管理员组

文章数量: 887021

剪纸

/

单点时限: 1.0 sec

内存限制: 512 MB

中国剪纸是一种用剪刀或刻刀在纸上剪刻花纹,用于装点生活或配合其他民俗活动的民间艺术。在中国,剪纸具有广泛的群众基础,交融于各族人民的社会生活,是各种民俗活动的重要组成部分。其传承赓续的视觉形象和造型格式,蕴涵了丰富的文化历史信息,表达了广大民众的社会认以、道德观念、实践经验、生活理想和审美情趣,具有认知、教化、表意、抒情、娱乐、交往等多重社会价值。
2006年5月20日,剪纸艺术遗产经国务院批准列入第一批国家级非物质文化遗产名录 。2009年9月28日至10月2日举行的联合国教科文组织保护非物质文化遗产政府间委员会第四次会议上,中国申报的中国剪纸项目入选“人类非物质文化遗产代表作名录”。

剪窗花最基本的操作为将剪纸进行多次对折,然后对对折之后的纸进行裁剪,展开后就是一个精美的艺术品。现在我们对问题进行化简,我们利用如下方法将一张形状矩形的纸按照对阵轴进行对折:

假设剪后的形状为一个三角形,则展开效果为:

现在给你一个对折两次且剪切后的图形,请你给出展开的图形形状。

输入格式

多组输入,处理到文件结束。
每组输入第一行两个数字n,m(1≤n,m≤100)。
接下来n行,每行m个字符,表示对折且剪切后的图形。
保证输入字符只包含 ‘.’ 和 ‘*’ 。

输出格式

输出展开后的图形。

样例

input

3 3
**.
*..
...

output

......
..**..
.****.
.****.
..**..
......

两种输出ac:

一: 

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char a[220][220];
int main()
{int n,m;while(~scanf("%d %d",&n,&m)){for(int i=0; i<n; i++)scanf("%s",&a[i]);for(int y=n-1,x=0; x<n; x++,y--){for(int j=m-1; j>=0; j--)printf("%c",a[y][j]);for(int j=0; j<m; j++)printf("%c",a[y][j]);printf("\n");}for(int i=n-1,x=0; x<n; x++,i--){for(int j=m-1; j>=0; j--)printf("%c",a[x][j]);for(int j=0; j<m; j++)printf("%c",a[x][j]);printf("\n");}}return 0;
}

 二:

#include<stdio.h>
#include<string.h>
char a[110][110];
int main()
{int n,m,i,j;while(~scanf("%d%d",&n,&m)){for(i=0; i<n; i++)scanf("%s",a[i]);for(i=n-1; i>=0; i--){for(j=m-1; j>=0; j--)printf("%c",a[i][j]);printf("%s\n",a[i]);}for(i=0; i<n; i++){for(j=m-1; j>=0; j--)printf("%c",a[i][j]);printf("%s\n",a[i]);}}return 0;
}

 

事常与人违,事总在人为。

本文标签: 剪纸