QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#279496#1836. Glory GraphzhaohaikunAC ✓475ms8352kbC++142.1kb2023-12-08 20:03:352023-12-08 20:03:35

Judging History

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

  • [2023-12-08 20:03:35]
  • 评测
  • 测评结果:AC
  • 用时:475ms
  • 内存:8352kb
  • [2023-12-08 20:03:35]
  • 提交

answer

// MagicDark
#include <bits/stdc++.h>
#define debug cerr << "[" << __LINE__ << "] "
#define SZ(x) (int) x.size() - 1
#define all(x) x.begin(), x.end()
#define ms(x, y) memset(x, y, sizeof x)
#define F(i, x, y) for (int i = (x); i <= (y); i++)
#define DF(i, x, y) for (int i = (x); i >= (y); i--)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
template <typename T> inline void chkmax(T& x, T y) {x = max(x, y);}
template <typename T> inline void chkmin(T& x, T y) {x = min(x, y);}
template <typename T> inline void read(T &x) {
	x = 0; int f = 1; char c = getchar();
	for (; !isdigit(c); c = getchar()) if (c == '-') f = -f;
	for (; isdigit(c); c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48);
	x *= f;
}
const int N = 2010;
int n;
ll ans;
string st[N];
bitset <N> y[N], b[N];//, yy[N], bb[N];
signed main() {
	read(n);
	F(i, 1, n) {
		cin >> st[i];
		st[i] = ' ' + st[i];
		F(j, 1, n) {
			if (st[i][j] == '-') continue;
			if (st[i][j] == 'Y') y[i][j] = true;
			else b[i][j] = true;//, debug << i << " " << j << endl;
		}
	}
	// int s = 0;
	// F(a, 1, n)
	// 	F(b, a + 1, n)
	// 		F(c, b + 1, n)
	// 			F(d, c + 1, n) {
	// 			}
	// F(i, 1, n) {
	// 	yy[i] = y[i];
	// 	yy[i].flip();
	// 	bb[i] = b[i];
	// 	bb[i].flip();
	// }
	F(i, 1, n)
		F(j, i + 1, n) if (st[i][j] == 'B') {
			bitset <N> w1 = b[i] & y[j];
			bitset <N> w2 = y[i] & b[j];
			ans += (ll) w1.count() * w2.count();
			// debug << i << ' ' << j << ' ' << w1.count() * w2.count() << endl;
		}
	// debug << ans << endl;
	F(i, 1, n)
		F(j, i + 1, n) if (st[i][j] == 'Y') {
			bitset <N> w1 = b[i] & y[j];
			bitset <N> w2 = y[i] & b[j];
			ans += (ll) w1.count() * w2.count();
		}
	// debug << ans << endl;
	ans /= 2;
	F(i, 1, n)
		F(j, i + 1, n) if (st[i][j] == 'B') {
			bitset <N> w = y[i] & y[j];
			int t = w.count();
			ans -= (ll) t * (t - 1) / 2;
		}
	F(i, 1, n)
		F(j, i + 1, n) if (st[i][j] == 'Y') {
			bitset <N> w = b[i] & b[j];
			int t = w.count();
			ans -= (ll) t * (t - 1) / 2;
		}
	cout << ans;
	return 0;
}
/* why?
*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3548kb

input:

5
-YBYB
Y-BBB
BB-BY
YBB-Y
BBYY-

output:

2

result:

ok 1 number(s): "2"

Test #2:

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

input:

6
-YYYYY
Y-YYBB
YY-YYY
YYY-YB
YBYY-Y
YBYBY-

output:

-6

result:

ok 1 number(s): "-6"

Test #3:

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

input:

5
-YBYY
Y-YYY
BY-YB
YYY-Y
YYBY-

output:

-2

result:

ok 1 number(s): "-2"

Test #4:

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

input:

5
-YBYY
Y-YYY
BY-BY
YYB-Y
YYYY-

output:

-2

result:

ok 1 number(s): "-2"

Test #5:

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

input:

6
-YYYBY
Y-YBBY
YY-BBY
YBB-BB
BBBB-B
YYYBB-

output:

-3

result:

ok 1 number(s): "-3"

Test #6:

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

input:

6
-YYBYB
Y-BBYY
YB-BBB
BBB-YB
YYBY-Y
BYBBY-

output:

0

result:

ok 1 number(s): "0"

Test #7:

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

input:

10
-YBBYBBBBB
Y-BYBYYYYB
BB-YBYBYYY
BYY-BBYBBB
YBBB-YYYYB
BYYBY-YBBB
BYBYYY-YYY
BYYBYBY-YY
BYYBYBYY-B
BBYBBBYYB-

output:

0

result:

ok 1 number(s): "0"

Test #8:

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

input:

40
-YYYYBBBBYYBYBBBBBBBBYYBBBBYYYYBBYYBBBYB
Y-YYYBBYBYBYYYBBBYBYBBYBYYBYYYBBYBBYBYYB
YY-YBYBBBYYYYYYBYBYYYBBBBYYBBBBYBYBBYYYY
YYY-BYBBYBYYBYBBBYYBYBBBBBYBYBYBBYYBBBBY
YYBB-BBBYYBYBYYYYYBYBBBYYBBBBYBYBBYYBBYB
BBYYB-BBYYBYYBBBYBYBBYYBYYYBBYBYBBYYBYYY
BBBBBB-YBYBBBBYBBYYYBBBBBBYYYBYYBBBYBYYY
BYBBBBY-YY...

output:

458

result:

ok 1 number(s): "458"

Test #9:

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

input:

40
-YYYYYYYYYYYYYYBYYYYYBBYYYYYYYYBYYYYYYBB
Y-BBYYYBYYYYYYYYYYYYYYYYBYYBYYYBYBBYYYYY
YB-YBYYYYYYYYYYYYBYYYYYYYYBYYBYYYYBYBYBY
YBY-YYBYYYYYYBYYYBBYBYYYYYYYYYYYYYYYYBYY
YYBY-YYYYYYYYYYYYYYYYYYYBYBYYYYYYYYYYYYY
YYYYY-BYYYYYYYYYYYYYYYYYYYYBBYBYYYYYYYYY
YYYBYB-BYYBYYYYYBYYYYBYYBYYYYYYYYYYYYBYY
YBYYYYB-YY...

output:

-34287

result:

ok 1 number(s): "-34287"

Test #10:

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

input:

40
-YYYBBBBYBYYYBYYYYYYBYYYBYBYBYYYBYBYYBBY
Y-BYYYYBYYYBYBYBBBBBYYBYBYYYBYYYBYBBYBYY
YB-YYYYBBBYBYYBBYYYBYBYYBYYBYBYYBBYYYYBB
YYY-YYYYYBYYYYBYYYBBYYYBBYYBYYYYBYYYYBYY
BYYY-BYBBYBYYBBBBBBBYYBYBYYBYBBBYYYYBBYB
BYYYB-BBYBBYYYYYBYBBYBBYBBBBYBYBYYYYBYBB
BYYYYB-BYYYBYYYBBYBBYBYYBYBBBBBYYBBYYBBY
BBBYBBB-YY...

output:

-8539

result:

ok 1 number(s): "-8539"

Test #11:

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

input:

100
-YYBYBBYBYBYYYBBYBYYYYYBYBBYBBYBYYBYBYYBYYBYYYBBYBYBBBYBBYYBBYYBBBYYBYBBYYYBBYBBYBBBYBBBYBBYBYBBBBYY
Y-YYYYBBBBYYBYYBYYYBYYYBYYYBYBBBYYBBBBYYYBYYBBYBYYBYBYBYBBBYYYBYYYYYBBYBBYBBBYYBBYBBYYYYYBYBBYBYYYBB
YY-BYBBBYBYBYYBBBBBYBBYBBBYBYYYBYYYYYBYBBBBYBYYBBYBBBYYBYBBBBYYBYBYBYBYBYYYYBBYYYYBYYBYYYBYYBY...

output:

5474

result:

ok 1 number(s): "5474"

Test #12:

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

input:

100
-BBBBBBBBBBBBBBBBBYBYBBBBYBYYBYBYBBBBBYBBBBBBBBYBBBYBBYBBBYYBBBYBBBBYBBBYYBBBBYYYBBBBBYYBYBYBBBYBYYY
B-BBBBYYBBYYYBBYBBBBYYBBBYBYBBBBBBBYBBBYBYBBBBBBBBBYBYYBBBBYBYYBBBYYBYBBYBBYYBYBBBBBBYBBYYBYBBBBBBBY
BB-BBYBBYYBBBBBBBBBBYYYBBBYBBBYBBBYBYYBBYBYYBBBBBYBYYYYYBBBBYYYYBYBYBBBBYBYBBBBBYYBBYYBYBBYBBB...

output:

-649105

result:

ok 1 number(s): "-649105"

Test #13:

score: 0
Accepted
time: 122ms
memory: 5056kb

input:

1000
-BBYBYBBYYYYBBYBBBBYBYYBYBYYBBYBBYYBYBYBBYBYBYBYBYYYYYBYBBBBBBBBBBYYBBBBYBBYBBYYYYYBBBYBYBBYYBYYBBYYYYYBBYBYBYBBYBYBYYYYBBBBYBYYYYYBYYYYBYBYYYBYBYYYYBBYBYBYBYBBBYYBYBBBBBBBBYYYYBYBYYBYBYBYYBBBYBYYYBBYBBYYYYYBBYBBYYYYYBYYBYYYBBBYYYYBBBBBYYBBBYYYBYYBYYBYBYYBBYYBBBYBYBYYBBBBYYBYYYBBBYYBBBBYBBBYYYB...

output:

-3233119

result:

ok 1 number(s): "-3233119"

Test #14:

score: 0
Accepted
time: 133ms
memory: 5096kb

input:

1000
-BBYBBBBBYBBBYYBBBYYBYBBBYBYBBBYBBYBBYBBYBBBYYBBYBYYBBBBBYYBBBBBYYYBBBBBBYBBBYYYBBBYBYYYBBBBBYBYYYBBBBBYYBBBBYYBBBBBBBBBBBBBYBBBBYBBBBYBBBBYBYYBBBBBYBYYBBBYBYBBBBBYYBBBBBBBBBBBBBBBYYBBYYYYBBYBYYBBBBBBYBBYBBBYBBBBYBYYBBBBBYYBYBBYBBBBBYBYYBBYBBYYBYBYYYYYYBBYYBBBBYBYBBYBBBYYBYYBBBYBBYBBYBYBBBBBYBB...

output:

-6052668374

result:

ok 1 number(s): "-6052668374"

Test #15:

score: 0
Accepted
time: 115ms
memory: 5008kb

input:

1000
-BYYBYYYYYYYYYBYYYYYYYYYYYYBYYYYBYYYYYBYYBYYYYYYYYYYYYYYYYBYYYYBYYYYYYYYYBYYYBBYYYYYYYYYYYYYYYYYYYYYYYYYYYYBYYYYYBYBYYYBYYBYYYYBBYYYYYYYYYYYYYYYYYYBYYYBYBYYBYYBYYBYBYYBYBYYYYYYYYYYYYYYBBBYYBYYYYYBYYBYYYYYYYYYBYBYYYYYYYYYYYYBYYYYYYYYYYYYYYYYYYYYBYYYYYYYYYBYYYBYYYYYYBYYBYYYYYBYYYYYBYYYYBBYBYYBYBY...

output:

-15355158378

result:

ok 1 number(s): "-15355158378"

Test #16:

score: 0
Accepted
time: 475ms
memory: 8264kb

input:

2000
-BYBBYYBYBYBYBBYBBBYBBYYBYBYYYYYYBBYBBBYBYBBYYBBBYBBBYBBBYBYYBYBYYYYYYBYYYBYBBBBBBYYBYYBYYYYYYYBBBYYYBYYBBBYBYBBBBBYBBYBYBYYBYBYYBBYBYBBYYBYBBBBBBBBBBBYYBBBBBYBYYYBYYBYYYBYYYYYBYYYYBBBBBBBYYYYBYYBBBYBYBBYYYYBBYBYBYBBBYBBBBYBBYBYYBYYYBBYBBYYYBYBYYYBYYYYBYBYBBBBBBBYYBBYYYBBYBBBBBYBBBYYYYYBYBBBYYY...

output:

14871328

result:

ok 1 number(s): "14871328"

Test #17:

score: 0
Accepted
time: 466ms
memory: 8252kb

input:

2000
-BBBBYYBBYYYBYBBYBBYBBBBBYBBBBBBYBYYYBBBBBBBBBBBBBYBYBBBBBBBBBBBYYBBBBBBBBBBBYYBBBBYBBBYYBBBBBYBBBBBYBBBBBBYBYBBYYYBYBBBBYYBBBYYYBYBBYBBBBBYBBBBBBBBYBBYBBYBBBBYBBBYBBBBYYYBBYBYBBBBBYBYBYYBBYYBBBBBBBBBBYYYYBYBBYBYBBBBBBBBYBYBYBBBBBBYYYBYBBBBBBBBYYBBBBBBBYYBBBYYBYBBBBYBBYYBBBBYBBBBBYBBYYBBYBBBYBY...

output:

-98751748805

result:

ok 1 number(s): "-98751748805"

Test #18:

score: 0
Accepted
time: 456ms
memory: 8352kb

input:

2000
-YYYYBYYYYYYYYYYBYYYYYBYYYYYBBBYYYYYYYBYYYYYYYYBBYYYYYYYYYBYYYYYBYBYYYYYYYYBYYYBYYYYYYYBYYYYYYYYYYYYYYBBBBBYYYYYYYYYYYYYYYBYYYYBYYYYYBYBYYYYYYYYYYBYYYYBYYYYYYYBYYYYYYYYYYBYYYYYYBBYYBYYBBYYYYYBYYBYYYYYYYBYBYYBYYBYBBYYYYYBYBYYBYYYYYYYBYYBYYYYYYYYYBYBYYBYYYYYYYYYYYYYYBYBYYYYYBYYYYYYYBYBYYYYYBYYYYY...

output:

-246238368355

result:

ok 1 number(s): "-246238368355"

Test #19:

score: 0
Accepted
time: 453ms
memory: 8268kb

input:

2000
-BBBBYBBBBBBYBYBBBYYBBBBBBBBBBBBBBBBYBBBYBYYBBBBBBBBBYYBBBYBBBBBYBBYBBBBBYBBBYBBBBBBBBBBBBBBBBBBBYBBBYYBYBBYBYBBYYBYYBBYBYYYYBBYBYBBBBBYYBBYYBBBBBYBBBBBBYBBBBYBBBYBBBBYBBBBBBBBBBBBBBYBBBBBYBYYBBBBYBBBYBBYBBBBBBYBBBBBYYYBBYYBBBBBBBBBBBBYYBBBBYBYBBBBYYBBBYBBBBBBBBBBYBBBBBBBBYBYYYBBYBYYBBBBBYBBBBB...

output:

-186887776300

result:

ok 1 number(s): "-186887776300"

Test #20:

score: 0
Accepted
time: 439ms
memory: 8332kb

input:

2000
-BBYYBBBBBBBBBBBBYBYBBBBBBBBBBBBBBYBBBBBBBBBBBBYBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBYBBYBBBBBBBBBBBBBBBBBBBBBBBBBBBYBBBBBBBBBBBYBBBBBYBBYBBBBBYYBBYBYBYBBBYBBBBYBBBBYBBBBBBBBBBBBBYBBBBBBBBBBBBBBYBBBBBBBBBBBBBBBBYBBBYBBBYBBBBBBBYBBYBBBBBBBBBBYBBYBBBBYBBYYBBBBBBYBBBBBBBBBYBBBBBBBBBBBBBBBBBYYBBYBBYBBYBB...

output:

-245343471492

result:

ok 1 number(s): "-245343471492"

Test #21:

score: 0
Accepted
time: 466ms
memory: 8264kb

input:

2000
-YYBBBBBBBBBBBBBBBYYBBBBYBBBYYBYBBYYBYYYYBBYBYYBBBYYYBBBYBBYBYYBBBBYBBYBBBBBYBYBYYYBBYBYBBBBYYBBBBBBYYBBBBYBBYYBBBBYBYBBBBYBBYBBYYYBYYBBYBBYBYYBBYBBYBYYYBBBBBBBYYBBYBBBBYBBYYBYYYBYBYBBYYYBBBBBBBBBYYBBBBBYBBBBYBBBBBYBBYYYBBBYBBYYBBBYYBBYBBBBBBYBBYBYBBBBBBBYBBBYBBBBBYBBYBYYBBBYYBBBBBBBBYBYBBYBYBY...

output:

-50383073264

result:

ok 1 number(s): "-50383073264"