求助 xo矩阵 ??? 200ms???

4.  xo矩阵
题目ID:9632100分
最新提交:
Time Limit Exceeded
0 分
历史最高:
Time Limit Exceeded
0 分
时间限制: 200ms
空间限制: 65535kB
题目描述
 

故事背景:

小A是一个系列电影《X战警》的忠实粉丝,自从老师在信息课上教会了你打印金字塔后,小A就一直缠着你为他打印一个xo矩阵,经过小A的软磨硬泡、死缠烂打,你终于答应了给小A打印xo矩阵。

 

题目描述:

输入m,输出(2*m+1)行(2*m+1)列的x和o组成的矩形。

 

输入样例1:

2
输出样例1:

xooox
oxoxo
ooxoo
oxoxo
xooox
 

输入样例2:

3
输出样例2:

xooooox
oxoooxo
ooxoxoo
oooxooo
ooxoxoo
oxoooxo
xooooox
 

约定:2 < m < 35
#include<bits/stdc++.h>
using namespace std;
int main(){
    int m,n;
    cin>>n;
    m=2*n+1;
    for (int i = 0;i < m;i++){
      for (int j = 0;j < m;i++){
        if (i + n == n - 1 || i == j) cout << 'x';
        else cout << 'o';
      }
      cout << endl;
    }
	return 0;
}

200ms???xyd认真的吗?这让我的双重循环怎么活啊?

1 个赞

题目有病!

@尤子睿 原理暴力,追求优化(

1 个赞

@我命由我不由天 @CZF2919 @尤子睿 不是吧,这是我之前智灵基础班时综合练习题

估计是专门考卡常的(

??????????????????????? @尤子睿 你名字咋和我这么像,还有题目也和我 (们) 这么像
这道题是哪节课的来着?

别看了,我们上次做的是1000ms,这是200ms, O(n^2) 过不了的

这是这道题的核心代码,希望能对你有所帮助

	for(int i=0;i<size;i++)
	{
		for(int j=0;j<size;j++)
		{
			a[i][j]='o';
		}
	 } 
	for(int i=0;i<size;i++)
	{
		a[i][i]='x';
		a[i][size-1-i]='x';
	 } 
	 //输出

image
感谢 上杉绘梨衣 我们都是小怪兽何羽帆
9867326429392f4eba431db9f12e2368

\color{white}{不用谢 }