CSES - Datatähti 2018 alku - Results
Submission details
Task:Fraktaali
Sender:niklash
Submission time:2017-10-10 09:59:32 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED10
#2ACCEPTED10
#3ACCEPTED10
#4ACCEPTED10
#5ACCEPTED10
#6ACCEPTED10
#7ACCEPTED10
#8ACCEPTED10
#9ACCEPTED10
#10ACCEPTED10
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.04 s2details
#3ACCEPTED0.06 s3details
#4ACCEPTED0.05 s4details
#5ACCEPTED0.05 s5details
#6ACCEPTED0.04 s6details
#7ACCEPTED0.05 s7details
#8ACCEPTED0.05 s8details
#9ACCEPTED0.05 s9details
#10ACCEPTED0.08 s10details

Code

#include <iostream>
#include <cmath>

typedef unsigned int uint;

bool** fractal(uint n, uint side)
{
	if (n==1)
	{
		bool **valp; valp=new bool*; valp[0]=new bool(false);
		return valp;
	}

	bool **frac;
	side/=2;

	frac=new bool*[side];
	frac=fractal(n-1,side);

	bool **newfracp;
	newfracp=new bool*[2*side];
	for (uint i=0;i<2*side;++i)
		newfracp[i]=new bool[2*side];

	for (uint i=0;i<side;++i)
	{
		for (uint j=0;j<side;++j)
		{
			newfracp[i][j]=frac[i][j];
			newfracp[side+i][j]=frac[i][j];
			newfracp[i][side+j]=frac[i][j];

			newfracp[side+i][side+j]=!(frac[i][j]);
		}
	}
	// deallocation in reverse order
	for (uint i=side-1;i>0;--i) delete[] frac[i];
	//for (uint i=0;i<side;i++) delete[] frac[i];

	return newfracp;
}

bool** fractal(uint n)
{
	return fractal(n+1,pow(2,n));
}

int main(int argc, char** argv)
{
	int input; std::cin>>input;
	if (input<2) input=1;

	bool** frac=fractal(input);
	for (uint i=0;i<pow(2,input-1);++i)
	{
		for (uint j=0;j<pow(2,input-1);++j)
			frac[i][j] ? std::cout<<"." : std::cout<<"#";
		std::cout<<std::endl;
	}

	return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1

correct output
#

user output
#

Test 2

Group: 2

Verdict: ACCEPTED

input
2

correct output
##
#.

user output
##
#.

Test 3

Group: 3

Verdict: ACCEPTED

input
3

correct output
####
#.#.
##..
#..#

user output
####
#.#.
##..
#..#

Test 4

Group: 4

Verdict: ACCEPTED

input
4

correct output
########
#.#.#.#.
##..##..
#..##..#
####....
...

user output
########
#.#.#.#.
##..##..
#..##..#
####....
...

Test 5

Group: 5

Verdict: ACCEPTED

input
5

correct output
################
#.#.#.#.#.#.#.#.
##..##..##..##..
#..##..##..##..#
####....####....
...

user output
################
#.#.#.#.#.#.#.#.
##..##..##..##..
#..##..##..##..#
####....####....
...

Test 6

Group: 6

Verdict: ACCEPTED

input
6

correct output
##############################...

user output
##############################...

Test 7

Group: 7

Verdict: ACCEPTED

input
7

correct output
##############################...

user output
##############################...

Test 8

Group: 8

Verdict: ACCEPTED

input
8

correct output
##############################...

user output
##############################...

Test 9

Group: 9

Verdict: ACCEPTED

input
9

correct output
##############################...

user output
##############################...

Test 10

Group: 10

Verdict: ACCEPTED

input
10

correct output
##############################...

user output
##############################...