0
点赞
收藏
分享

微信扫一扫

蓝桥杯31天冲刺打卡(day30)

静鸡鸡的JC 2022-04-06 阅读 58
c++蓝桥杯

目录

1、打印大X(15年省赛)

2、分巧克力(17年省赛)


1、打印大X(15年省赛)

 

 解析:一道模拟题,我们发现它的宽度是m+n-1,所以我们用两重循环就能打印了。

            整个X都是轴对称的,也就是左右的符号是一样,所以我们需要两个指针标记*的起点(中线左右的点数是一样多的,用两个指针标记起点(左边的起点在最左边,右边的在最右边)),然后分别逐步往反方向靠,打印的时候就以两个指针的位置和宽度m作为判定条件。

#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
#define MOD 1000000009
using namespace std;
typedef long long LL;
int n,m;
int main() {
	cin>>m>>n;
	int s=m+n-1;
	int s1=1,s2=m+n-1;//双指针(分别标记起点和终点)
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=s; j++) {
			if((j<s1+m && j>=s1) || (j<=s2 && j>s2-m)) cout<<'*';//枚举起点和宽度
			else cout<<'.';
		}
		s1++,s2--;//双指针往反方向移动
		cout<<endl;
	}
	return 0;
}


2、分巧克力(17年省赛)

详情请看(1条消息) 分巧克力、扫地机器人(二分)_永遇乐金枪鱼的博客-CSDN博客

举报

相关推荐

0 条评论