牛客网 Retina

链接:https://ac.nowcoder.com/acm/contest/547/C
来源:牛客网
 

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

所谓“Retina”是一种显示标准,是把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率并提高屏幕显示的细腻程度。

例如在普通的屏幕上,一个字符是对应着一个像素,而在retina的屏幕上,一个字符由四个像素显示

例如

山财大的“山“字的点阵图如下:

在普通屏幕上的显示效果是这样的

扫描二维码关注公众号,回复: 5847570 查看本文章

而在retina屏幕上的效果是:

Retina的具体显示效果,由一个可以调节的“缩放比例”确定,

缩放比例为200%即意味着原来由一个 * 号组成的图案,现在由上下左右的4个 * 组成,

现在给你一个缩放比例,要求你输出对应的“山”

输入描述:

一个小于10的数字,表示放大比例

(例如 2 即为放大200%)

输出描述:

对应的”山“字图形

示例1

输入

复制

1

输出

复制

*    *    *
*    *    *
*    *    *
*    *    *
*    *    *
*    *    *
 *********

题解 模拟  当时没做出来,同学用了一个相当巧妙地方法

#include<cstdio>
#include<cstring>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<stdlib.h>
using namespace std;
const int inf=0x3f3f3f3f;
const int maxn=1000000;
char a[500][500]={"*    *    *","*    *    *","*    *    *","*    *    *","*    *    *","*    *    *"," ********* "};
int main(){
	int n;
	while(cin>>n){
	for(int i=0;i<7;i++){
		for(int k=0;k<n;k++){//在输出k个i行的 
			for(int j=0;j<11;j++){
				for(int p=0;p<n;p++)//先输出p个j列的 
		   		    cout<<a[i][j];
	    	}
	    cout<<endl;	
		}	  
	}
}
} 

猜你喜欢

转载自blog.csdn.net/gml1999/article/details/88692746