QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#203441#2474. Art TransactionTeam_name#AC ✓5ms4084kbC++206.4kb2023-10-06 17:29:182023-10-06 17:29:18

Judging History

你现在查看的是最新测评结果

  • [2023-10-06 17:29:18]
  • 评测
  • 测评结果:AC
  • 用时:5ms
  • 内存:4084kb
  • [2023-10-06 17:29:18]
  • 提交

answer

#include <algorithm>
#include <functional>
#include <iostream>
#include <set>
#include <utility>
#include <vector>
constexpr int d[4][2] = {
	{-1, 0},
	{0, -1},
	{1, 0},
	{0, 1}
};
void chk_min(int& a, int b) { if (a > b) a = b; }
void chk_max(int& a, int b) { if (a < b) a = b; }
constexpr int N = 50;
int n;
char pic[N + 2][N + 2];
int cnt[128];
bool in_bound(int i, int j) { return 1 <= i && i <= n && 1 <= j && j <= n; }
bool is_bird(int i, int j) { return pic[i][j] == 'v' || pic[i][j] == 'D'; }
int suns()
{
	static bool f[N + 2][N + 2];
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (pic[i][j] == '*')
			{
				int k;
				k = j; while (--k && pic[i][k] == ' ');
				f[i][k] = true;
				k = j; while (++k <= n && pic[i][k] == ' ');
				f[i][k] = true;
				k = i; while (--k && pic[k][j] == ' ');
				f[k][j] = true;
				k = i; while (++k <= n && pic[k][j] == ' ');
				f[k][j] = true;
				k = 0; do ++k; while (i + k <= n && j + k <= n && pic[i + k][j + k] == ' ');
				f[i + k][j + k] = true;
				k = 0; do ++k; while (i + k <= n && j - k && pic[i + k][j - k] == ' ');
				f[i + k][j - k] = true;
				k = 0; do ++k; while (i - k && j + k <= n && pic[i - k][j + k] == ' ');
				f[i - k][j + k] = true;
				k = 0; do ++k; while (i - k && j - k && pic[i - k][j - k] == ' ');
				f[i - k][j - k] = true;
			}
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			ans += f[i][j] && pic[i][j] != '*';
	return ans;
}
int biggest_bird()
{
	static bool vis[N + 1][N + 1];
	static bool f[N + 1][N + 2];
	std::function<void (int, int)> DFS = [&DFS](int i, int j) {
		if (!(in_bound(i, j) && is_bird(i, j) && !vis[i][j])) return;
		vis[i][j] = true;
		f[i][j] = true;
		for (auto [di, dj] : d)
			DFS(i + di, j + dj);
	};
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (!vis[i][j])
			{
				for (int k = 1; k <= n; ++k)
					for (int l = 1; l <= n; ++l)
						f[k][l] = false;
				DFS(i, j);
				int res = 0;
				for (int k = 1; k <= n; ++k)
				{
					int l_ = 1;
					for (int l = 1; l <= n + 1; ++l)
						if (!f[k][l])
							chk_max(res, l - l_), l_ = l + 1;
				}
				ans += res;
			}
	return ans;
}
int flock_perimeter()
{
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (is_bird(i, j))
				for (auto [di, dj] : d)
					ans += !(in_bound(i + di, j + dj) && is_bird(i + di, j + dj));
	return ans;
}
int house_view_up_and_down()
{
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (pic[i][j] == '^')
			{
				int k = i;
				while (--k && pic[k][j] == ' ') ++ans;
			}
	return ans;
}
int three_times_three_blocks()
{
	std::set<std::vector<char>> s;
	for (int i = 1; i + 2 <= n; ++i)
		for (int j = 1; j + 2 <= n; ++j)
		{
			std::vector<char> v;
			for (int k = 0; k < 3; ++k)
				for (int l = 0; l < 3; ++l)
					v.push_back(pic[i + k][j + l]);
			s.insert(v);
		}
	return s.size();
}
int animals_I()
{
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (char c = pic[i][j]; c == '!' || c == 'v' || c == 'D')
				for (auto [di, dj] : d)
					if (in_bound(i + di, j + dj) && pic[i + di][j + dj] == ' ')
						++ans;
	return ans;
}
int freedom()
{
	static bool vis[N + 2][N + 2];
	static bool f[N + 1][N + 1];
	std::function<void (int, int)> DFS = [&DFS](int i, int j) {
		if (!(0 <= i && i <= n + 1 && 0 <= j && j <= n + 1 && (!pic[i][j] || pic[i][j] == ' ') && !vis[i][j])) return;
		vis[i][j] = true;
		for (auto [di, dj] : d)
			DFS(i + di, j + dj);
	};
	DFS(0, 0);
	for (int i = 0; i <= n + 1; ++i)
		for (int j = 0; j <= n + 1; ++j)
			if (vis[i][j])
				for (auto [di, dj] : d)
					if (in_bound(i + di, j + dj))
						f[i + di][j + dj] = true;
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			ans += f[i][j] && pic[i][j] != ' ';
	return ans;
}
int chupacabra()
{
	constexpr int d[8][2] = {
		{-2, -1},
		{-2, 1},
		{-1, 2},
		{1, 2},
		{2, 1},
		{2, -1},
		{1, -2},
		{-1, -2}
	};
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (is_bird(i, j))
				ans += [d, i, j]() {
					for (auto [di, dj] : d)
						if (in_bound(i + di, j + dj) && pic[i + di][j + dj] == '!')
							return true;
					return false;
				}();
	return ans;
}
int peaks()
{
	std::vector<std::pair<int, int>> pos;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j < n; ++j)
			if (pic[i][j] == '/' && pic[i][j + 1] == '\\')
				pos.emplace_back(i, j);
	int ans = 0;
	for (auto [i, j] : pos)
	{
		int res = 0;
		for (auto [k, l] : pos)
			chk_max(res, std::abs(k - i) + std::abs(l - j));
		ans += res;
	}
	return ans;
}
int drake_grill()
{
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (pic[i][j] == 'D')
				ans += [i, j]() {
					for (auto [di, dj] : d)
						if (in_bound(i + di, j + dj) && pic[i + di][j + dj] == 'G')
							return true;
					return false;
				}();
	return ans;
}
int minimum_frequency()
{
	constexpr char type[] = {'*', '^', '!', '/', '\\', 'v', 'D', 'G'};
	int m = n * n;
	for (auto c : type)
		if (cnt[c]) chk_min(m, cnt[c]);
	int ans = 0;
	for (auto c : type)
		if (cnt[c] == m) ++ans;
	return m * ans;
}
int empty_fields()
{
	return cnt[' '];
}
int animals_II()
{
	return cnt['!'] * cnt['v'] * cnt['D'];
}
int grill_drake()
{
	int ans = 0;
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			if (pic[i][j] == 'G')
				ans += [i, j]() {
					for (auto [di, dj] : d)
						if (in_bound(i + di, j + dj) && pic[i + di][j + dj] == 'D')
							return true;
					return false;
				}();
	return ans;
}
int houses_and_grill()
{
	return std::min(cnt['^'], cnt['G']);
}
int main()
{
	std::cin >> n, std::cin.get();
	for (int i = 1; i <= n; ++i)
		std::cin.getline(pic[i] + 1, n + 1);
	for (int i = 1; i <= n; ++i)
		for (int j = 1; j <= n; ++j)
			++cnt[pic[i][j]];
	#define TEST(PART) std::cout << #PART << ": " << PART() << std::endl
	std::cout << 100 * suns() + 500 * biggest_bird() + 60 * flock_perimeter() + 15 * house_view_up_and_down() + 1 * three_times_three_blocks() + 15 * animals_I() + 7 * freedom() + 200 * chupacabra() + 50 * peaks() + 500 * drake_grill() + 10 * minimum_frequency() + 1 * empty_fields() + 1 * animals_II() + 50 * grill_drake() + 3 * houses_and_grill() << "\n";
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3664kb

input:

2
 /
^G

output:

70

result:

ok single line: '70'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3864kb

input:

3
^v*
 v/
/ v

output:

2017

result:

ok single line: '2017'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3544kb

input:

3
v  
\D^
^/\

output:

1607

result:

ok single line: '1607'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

3
*D*
/G 
\/!

output:

2003

result:

ok single line: '2003'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

3
G G
D \
/!*

output:

1722

result:

ok single line: '1722'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

9
 *^!/\vDG
 *^!/\vDG
 *^!/\vDG
 *^!/\vDG
 *^!/\vDG
 *^!/\vDG
 *^!/\vDG
 *^!/\vDG
 *^!/\vDG

output:

12672

result:

ok single line: '12672'

Test #7:

score: 0
Accepted
time: 0ms
memory: 3676kb

input:

3
***
***
***

output:

147

result:

ok single line: '147'

Test #8:

score: 0
Accepted
time: 0ms
memory: 3668kb

input:

3
!!!
*!!
!!!

output:

567

result:

ok single line: '567'

Test #9:

score: 0
Accepted
time: 0ms
memory: 3900kb

input:

3
 v 
vvv
 v 

output:

2423

result:

ok single line: '2423'

Test #10:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

3
 v 
 v 
 v 

output:

1128

result:

ok single line: '1128'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

3
   
vvv
   

output:

2128

result:

ok single line: '2128'

Test #12:

score: 0
Accepted
time: 0ms
memory: 3544kb

input:

3
 D 
DDD
 D 

output:

2423

result:

ok single line: '2423'

Test #13:

score: 0
Accepted
time: 0ms
memory: 3888kb

input:

3
 D 
vDv
 D 

output:

2393

result:

ok single line: '2393'

Test #14:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

3
v v
   
D D

output:

3154

result:

ok single line: '3154'

Test #15:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

3
   
   
   

output:

10

result:

ok single line: '10'

Test #16:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

3
v  
 D 
  !

output:

1659

result:

ok single line: '1659'

Test #17:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

3
! !
   
 v 

output:

1083

result:

ok single line: '1083'

Test #18:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

3
! !
   
 D 

output:

1083

result:

ok single line: '1083'

Test #19:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

3
/\ 
   
 /\

output:

374

result:

ok single line: '374'

Test #20:

score: 0
Accepted
time: 0ms
memory: 3656kb

input:

3
GD 
 G 
   

output:

1393

result:

ok single line: '1393'

Test #21:

score: 0
Accepted
time: 0ms
memory: 3604kb

input:

3
DG 
 D 
   

output:

2628

result:

ok single line: '2628'

Test #22:

score: 0
Accepted
time: 0ms
memory: 3904kb

input:

3
 *^
 /\
vDG

output:

2350

result:

ok single line: '2350'

Test #23:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

3
   
   
   

output:

10

result:

ok single line: '10'

Test #24:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

3
G^^
G^^
G^G

output:

109

result:

ok single line: '109'

Test #25:

score: 0
Accepted
time: 0ms
memory: 3688kb

input:

5
/*G\ 
 D^*v
  */D
!/!* 
 D^D*

output:

4946

result:

ok single line: '4946'

Test #26:

score: 0
Accepted
time: 0ms
memory: 3672kb

input:

10
///\*/G*^\
 ^*/*!\//G
G\/ GG/ D/
//\vDv!D! 
!G*D*Gv/vv
D G/D*D/D\
/v!v^DG \v
v^v/^/v*v\
G!G /v*v^G
//^^vv/G^/

output:

25134

result:

ok single line: '25134'

Test #27:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

15
 !\*\v/^\GD G^\
DDD^G!^\G^^! *G
 D^  vDv \G/Gvv
^!**\^\!*^ vD/\
G\GG/G/ *vvv\vG
 !/\\^/\*/ !D*G
 ^^^*\ G\G^D^ !
*\\/G G\ D^/*\!
^v^! \/ GDD^!/*
v/\\D!/ ^ ^ DG/
/ /G^G\ /*//\ *
!/*G*!/v!!GG*GG
!^G^G G^  vvvDv
D^!!\ GGG/*\\^/
^Dv^vDv/*\^^!GD

output:

54923

result:

ok single line: '54923'

Test #28:

score: 0
Accepted
time: 1ms
memory: 3928kb

input:

20
^^vv/*v/  *^^D*//GGv
/GvGDGDG*v\/Dv^^/DG\
/ v DvD*DDD /DD!v\^ 
G\^ v/GG!!!v^G*G D\v
\!v^*!/**/*!!v!/\//D
v!/ \v\vv D !vv\*D!^
DD\*/Gv/*GGD^DD!v!*G
\Dv!^*^Gv !^!D\ !D!!
*^D!^D\/*!!/DDD!\^DD
 v^\\\v G \/Gv/^!^!\
!Gv/**G\*!\DG^ /GDv\
/^\G!/D G ^ !*Dv G^*
\D^\^\*\ ^v^ G*!GDDD
\ !\!G\ D*G\G! ^v^vv
/ !...

output:

263008

result:

ok single line: '263008'

Test #29:

score: 0
Accepted
time: 1ms
memory: 3704kb

input:

25
/v/ ^G*D ! \*v^v  D/*! \v
^^*! /!G*\/G/\G/vDG*\  Dv
GG *GG^DD\v/* /! GG /!DDD
/D!^vv/!!\\ !//!^/D*!*vv\
vG\DGD!/*DD ^DG/v/^Gv   !
!/!!/\\*!!!/Gv *\G^ G^G G
 /G/^!v/\v\G /!\GG//^ \D^
\/^* vv!*Gv^**!**Gv\^G*/!
Gv*/\!  v\!^\*/DD^ GvGv! 
//*v!!vD^ \\D*GG\vv!!*GD/
G\!D*\*^//^ !\D!D\\  v/!/
GGG\*v\* !^...

output:

476332

result:

ok single line: '476332'

Test #30:

score: 0
Accepted
time: 1ms
memory: 3624kb

input:

30
 !!\^*DDG!^v *!^^D*vD^!*!D^/G\
/v*GGD!*v//!!v!^^G/GD!!G D*\\D
!^ ^ /\*/\!/ *^ vv/*D!\ ^ \ !v
/Gvv^  /D *  !D**vv/v!* ! D vG
\v!D\*/D* vD \GG\^ v^ ^^v^/\!^
 ^G G/v!\/ vv/! D!!^vG*/*v/D D
**  *\ DDGDG*/v^^ !*/ ^^/*/G^!
^*^GD*D*/*GD/\  ^//\\**GD*GGvD
^G^ DD^DD^* vv**v D/vG*/DG*///
/^DG^v/*/v**^ *!^\...

output:

1223508

result:

ok single line: '1223508'

Test #31:

score: 0
Accepted
time: 2ms
memory: 3740kb

input:

35
*Dvv*D!G *v\/ **\!/G\*v *\\v \!Dv^*
^* !\vG!GD/*^\^/\//^ D*GGG^GG*!G*  
\vD/G!*^/D!\\ !vvD **D\/ v/\v^GvDD*
\^^G/G*!*G^D^D*DG^ /^^*\!*DDvv!/ ^^
^\vv/\Dv!GG!*\\v!!GD!GGGDDG\\v*^!\/
 v//! //G v ^^GDG^**D*D\DD\*^ *^^/v
GGGvDG\D/v!   \ *!D! G//D\!^ v^GD/D
v\!^ \!v*/^vG*GD^D/\/vD/\**^  G^DGv
 ^ ^vvD G...

output:

2548495

result:

ok single line: '2548495'

Test #32:

score: 0
Accepted
time: 2ms
memory: 3756kb

input:

40
*DvG**G^/ !^G^ ^\\/v!GD Dv  vv!DD*/*G!!!
v\vD!G/G^vG*D^\*^!\/** D*!D/\**! **/\^  
*D/G\D v^v!/^GG^v^Gv*G\G *\  GGD  G/D!G*
/v! ^/G \/GDvv vvG\\^D v^!*G!DD/*v/*vD/D
v*D/G!\*^!*G/\v^ /Dv *v!!DvD*!\GG/!G//v/
DG*^v/^!/\^D\\G//\*DDG v \^^ v *D\v!^D!v
!^*!G\  *D*^v*\D/*^G^\D!!D* !!^//*/vv G^
GG!!****\D...

output:

6207683

result:

ok single line: '6207683'

Test #33:

score: 0
Accepted
time: 3ms
memory: 3844kb

input:

45
!D*/^v/^^/!**Gv/G\^D* */vD^vDD Gv\*!! /* D\\v
//vv**vv v^!!v*^**v\!\G *^ *G*//D vDvGG^*G!!^
/v^* *DD!!^G^^v^/ ^^vDDG/Dv\v*\\v!/*  * /^/D*
!GDD*\v!DD^/G/^^Gv* ^DG/G\GD\D\G  ^\*/ ^/D*D 
v*\\!G\*v^  !^^*//\*/^D!^v\\ G\^*^ D/**!GGG/G
v  GD v\ \^DvG*\ ^!\ !^\*/DvGv\ G*G ^^GDv^/^ 
!GDv* \D!**!!\ /G/G ^...

output:

12283068

result:

ok single line: '12283068'

Test #34:

score: 0
Accepted
time: 5ms
memory: 3892kb

input:

50
D*^\G/*/G\GDD !!\v\vDDv^!D\*//**v//\\\/// v\G^Gv\v
*D/\\ vv\Gv/\/G!/*!vG!/^\//!*\!^!^^v**!G*DG\G/ G^ 
\ /D*D*/!\!^^ ^ v^\\D\ !\* ^vG!/\v/*Gv\D^* !Gv\v/ 
v\ * DvG\!! ! /\ */G /^ G!^! * \^vG^D\ \v*//DD!* !
D/^D^GvG //*v !^^ /^!!\ Gvv^G!vDv/G*/D* ^\\^ v!*!\
DDG*D\^*\/ \!\ ^^DG\\vG!*! \Gvv*/^D\G\ /^/...

output:

20833314

result:

ok single line: '20833314'

Test #35:

score: 0
Accepted
time: 5ms
memory: 3636kb

input:

50
*                        D                       *
 *                       D                      * 
  *                      D                     *  
   *                     D                    *   
    *                    D                   *    
     *                   D                ...

output:

54097

result:

ok single line: '54097'

Test #36:

score: 0
Accepted
time: 1ms
memory: 4084kb

input:

50
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv...

output:

63373

result:

ok single line: '63373'

Test #37:

score: 0
Accepted
time: 3ms
memory: 3688kb

input:

50
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
D                                                 
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
                                                 D
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
D                                         ...

output:

237418

result:

ok single line: '237418'

Test #38:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

50
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v                                                v
v vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv v
v v                                            v v
v v vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv v v
v v v                                     ...

output:

376604

result:

ok single line: '376604'

Test #39:

score: 0
Accepted
time: 5ms
memory: 3752kb

input:

50
                                                  
                                                  
                                                  
                                                  
                                                  
                                          ...

output:

40052

result:

ok single line: '40052'

Test #40:

score: 0
Accepted
time: 2ms
memory: 3624kb

input:

50
!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!D
Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv
v!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!
!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!D
Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv
v!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!Dv!D...

output:

579291261

result:

ok single line: '579291261'

Test #41:

score: 0
Accepted
time: 5ms
memory: 3664kb

input:

50
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\...

output:

4618874

result:

ok single line: '4618874'

Test #42:

score: 0
Accepted
time: 3ms
memory: 3956kb

input:

50
GGGDGGDGDDGDDDDDDDGGDDDDGDGDGGDDDDDDGGDDGDGDDDDGGG
DDGGDGGDDDGDGDDDDGGDGDDDDGGDDGGGGGDGDDGDDGGDGGGGGD
GDDGGGDGDGGDDGGGGDDDGDDDDDGGDGDGGDDGDDDGGGDGGDGGDD
GGGDDGDGGDGGGGGGDGDGGDDDGGGDGDDGGGDDDGDDGDDGDDGDGG
GDGDGGGGDDGGGDDGGDDGGGDDGGDDGDDGGGDDGDDGGDDDGGGGGG
GGDGGGGDDGGGDGGGDDGGGGDDGGGGGGDGGDGDDGGGDG...

output:

1006558

result:

ok single line: '1006558'

Test #43:

score: 0
Accepted
time: 3ms
memory: 3676kb

input:

50
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG...

output:

1491874

result:

ok single line: '1491874'

Test #44:

score: 0
Accepted
time: 5ms
memory: 3864kb

input:

50
                                                  
                                                  
                                                  
                                                  
                                                  
                                          ...

output:

2501

result:

ok single line: '2501'

Test #45:

score: 0
Accepted
time: 5ms
memory: 3876kb

input:

50
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
G^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
G^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^GG^
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG...

output:

5138

result:

ok single line: '5138'

Test #46:

score: 0
Accepted
time: 5ms
memory: 3780kb

input:

50
                                                  
 D^ DD /v ^^ GG DD \/ Gv GD !/ \\ !D /  ^v !/ /! \
                                                  
                                                  
                                                  
                                          ...

output:

404545

result:

ok single line: '404545'

Test #47:

score: 0
Accepted
time: 5ms
memory: 3888kb

input:

50
/*D/!^^v\^^\\^D**GD\\DGG\/^/vG!D!\/!D^GD*\\vD/GvG\
^**/^\!*/*D!Dv*/\*!^^!\v\^Gv/*^G\GG//G^v!*!!D^^v/v
                                                  
!G*G\G!!!vv^\vG*GvDG*\D/^D/^/D/v*\!*!!GG/!G\DG^*D\
v*G*v*//*!!\/!^\\^**^DGDDG!v!DDv^\!/DGvv/\\/^\DDG*
                                          ...

output:

10613183

result:

ok single line: '10613183'

Test #48:

score: 0
Accepted
time: 3ms
memory: 3692kb

input:

50
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
D                                                D
D DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D
D D                                            D D
D D DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD D D
D D D                                     ...

output:

240349

result:

ok single line: '240349'

Test #49:

score: 0
Accepted
time: 5ms
memory: 3884kb

input:

50
/D \v *! G\ v! Gv ^v D^ ^G DD ^^ !/ */ G^ ^! D* \D
!! \/ \! ^^ *^ G! !^ G/ *\ !^ \D v! */ GG DD vD *v
                                                  
G! Gv *D \^ !^ D^ vG GD ^! G^ \! !* *v *G D^ !^ *v
v^ !\ ^^ /! v* G/ \v G/ D! v* // ^! v* !\ \/ */ !/
                                          ...

output:

3630584

result:

ok single line: '3630584'

Test #50:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

3
!  
  v
 D 

output:

2059

result:

ok single line: '2059'