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

Compiler report

input/code.cpp: In function 'std::vector<std::basic_string<char> > reverse(std::vector<std::basic_string<char> >)':
input/code.cpp:10:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < sq.size(); i++) {
                              ^
input/code.cpp:12:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int j = 0; j < sq[i].length(); j++) {
                                    ^
input/code.cpp: In function 'std::vector<std::basic_string<char> > frak(int)':
input/code.cpp:30:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < nn.size(); i++) {
                              ^
input/code.cpp:34:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = nn.size(); i < nn.size()*2; i++) {
                                        ^
input/code.cpp: In function 'void printV(std::vector<...

Code

#include <iostream>
#include <string>
#include <vector>
#include <math.h>

using namespace std;

vector<string> reverse(vector<string> sq) {
	vector<string> v;
	for (int i = 0; i < sq.size(); i++) {
		string s;
		for (int j = 0; j < sq[i].length(); j++) {
			s += sq[i][j] == '#' ? '.' : '#';
		}
		v.push_back(s);
	}
	return v;
}

vector<string> frak(int n) {
	if (n == 1)
		return vector<string> {{"#"}};

	vector<string> nn = frak(n - 1);
	vector<string> rn = reverse(nn);

	vector<string> a(pow(2, n - 1));

	// ylä
	for (int i = 0; i < nn.size(); i++) {
		a[i] = nn[i] + nn[i];
	}
	//ala
	for (int i = nn.size(); i < nn.size()*2; i++) {
		a[i] = nn[i - nn.size()] + rn[i - nn.size()];
	}

	return a;
}

void printV(vector<string> v) {
	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << endl;
	};
	cout << "" << endl;
}

int main() {
	int n;
	cin >> n;

	printV(frak(n));
	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
##############################...