为什么我能过? 求助大佬
查看原帖
为什么我能过? 求助大佬
397926
愚末语tenseTL楼主2020/10/26 17:38

题目不是说不超过100个数吗? 一开始我吧数组设成s[6][500] 结果全部RE 但当我设成s[6][8]就神奇的全部的AC了 这是为什么呢?

#include<iostream>
#include<cstdio>
using namespace std;
char s[6][8];
void ott(int begin,char num)
{
	for(int i=begin;i<=begin+3;i++)
	{
		for(int j=1;j<=5;j++)
		s[i][j]='.';
	}
	if(num=='0')
	{
		for(int i=1;i<=5;i++)
		{
		s[begin][i]='X';
		s[begin+2][i]='X';
	    }
		s[begin+1][1]='X';
		s[begin+1][5]='X';
	}
	if(num=='1')
	{
		for(int i=1;i<=5;i++)
		s[begin+2][i]='X';
	}
	if(num=='2')
	{
		for(int i=begin;i<=begin+2;i++)
		{
			s[i][1]='X';
			s[i][3]='X';
			s[i][5]='X';
		}
		s[begin][4]='X';
		s[begin+2][2]='X';
	}
	if(num=='3')
	{
			for(int i=begin;i<=begin+2;i++)
		{
			s[i][1]='X';
			s[i][3]='X';
			s[i][5]='X';
		}
		s[begin+2][4]='X';
		s[begin+2][2]='X';
	}
	if(num=='4')
	{
		for(int i=1;i<=5;i++)
		{
			s[begin+2][i]='X';
		}
		for(int i=1;i<=3;i++)
		{
			s[begin][i]='X';
		}
		s[begin+1][3]='X'; 
	}
	if(num=='5')
	{
		for(int i=begin;i<=begin+2;i++)
		{
			s[i][1]='X';
			s[i][3]='X';
			s[i][5]='X';
		}
		s[begin+2][4]='X';
		s[begin][2]='X';
	}
	if(num=='6')
	{
		for(int i=begin;i<=begin+2;i++)
		{
			s[i][1]='X';
			s[i][3]='X';
			s[i][5]='X';
		}
		s[begin+2][4]='X';
		s[begin][2]='X';
		s[begin][4]='X';
	}
	if(num=='7')
	{
		for(int i=begin;i<=begin+2;i++)
		s[i][1]='X';
		for(int i=1;i<=5;i++)
		s[begin+2][i]='X';
	}
	if(num=='8')
	{
			for(int i=begin;i<=begin+2;i++)
		{
			s[i][1]='X';
			s[i][3]='X';
			s[i][5]='X';
		}
		s[begin+2][4]='X';
		s[begin][2]='X';
		s[begin][4]='X';
		s[begin+2][2]='X';
	}
	if(num=='9')
	{
			for(int i=begin;i<=begin+2;i++)
		{
			s[i][1]='X';
			s[i][3]='X';
			s[i][5]='X';
		}
		s[begin+2][4]='X';
		s[begin][2]='X';
		s[begin+2][2]='X';
	}
}
int main()
{
	int n;
	char t;
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>t;
		ott(i*4,t);
	}
	
	for(int j=1;j<=5;j++)
	{
	for(int i=0;i<4*n-1;i++)
	{
	
		cout<<s[i][j];
	}
	cout<<endl;
    }
	return 0;
 } 
2020/10/26 17:38
加载中...