QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#369012#1836. Glory GraphcrsfaaAC ✓484ms8796kbC++141.6kb2024-03-27 19:23:162024-03-27 19:23:17

Judging History

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

  • [2024-03-27 19:23:17]
  • 评测
  • 测评结果:AC
  • 用时:484ms
  • 内存:8796kb
  • [2024-03-27 19:23:16]
  • 提交

answer

#include<bits/stdc++.h>
#define Yukinoshita namespace
#define Yukino std
using Yukinoshita Yukino;
int read()
{
	int s=0,w=1;
	char ch=getchar();
	while(ch<'0'||ch>'9') w=ch=='-'?-1:1,ch=getchar();
	while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
	return s*w;
}
/*
容斥使得我神志不清了。

你妈的。

A:只有一个黄边

B:只有一个蓝边

C:三黄,三蓝,没有同色三角形

现在要算 C-A-B

D:蓝色四元环

E:黄色四元环

我tm

很好。

s1:枚举每个蓝边,得到 4D+C

s2:枚举每个黄边,得到 4E+C

s3:枚举蓝色四元环对点(这个是黄的),得到 A+2D

s4:反之,得到 B+2E

C-A-B 是啥呢?显然了。

为啥我没想到呢?因为我没把式子列出来,没发现上面 C 的系数带 2,以为消不掉。 

妈妈省的。 
*/
const int mxn=2005;
char s[mxn][mxn];
bitset<mxn> t[mxn],rt[mxn];
int main()
{
	int n=read(),i,j,k,l;
	long long s1=0,s2=0,s3=0,s4=0;
	for(i=1;i<=n;i++)
		scanf("%s",s[i]+1);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
		{
			if(s[i][j]=='B')
				t[i][j]=1/*,cout<<i<<' '<<j<<endl*/ ;
			if(s[i][j]=='Y')
				rt[i][j]=1;
		}
	for(i=1;i<=n;i++)
		for(j=1;j<i;j++)
			if(t[i][j])
				s1+=1ll*(t[i]&rt[j]).count()*(t[j]&rt[i]).count();
			else
				s2+=1ll*(t[i]&rt[j]).count()*(t[j]&rt[i]).count();
	for(i=1;i<=n;i++)
		for(j=1;j<i;j++)
			if(!t[i][j])
			{
				int c=(t[i]&t[j]).count();
				s3+=1ll*c*(c-1)/2;
			}
			else
			{
				int c=(rt[i]&rt[j]).count();
				s4+=1ll*c*(c-1)/2;
			}
	cout<<(s1+s2-s3*2-s4*2)/2;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 5656kb

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: 1ms
memory: 3568kb

input:

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

output:

-2

result:

ok 1 number(s): "-2"

Test #4:

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

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: 3952kb

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: 1ms
memory: 3564kb

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: 3652kb

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: 5780kb

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: 3736kb

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: 0ms
memory: 3816kb

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: 3964kb

input:

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

output:

5474

result:

ok 1 number(s): "5474"

Test #12:

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

input:

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

output:

-649105

result:

ok 1 number(s): "-649105"

Test #13:

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

input:

1000
-BBYBYBBYYYYBBYBBBBYBYYBYBYYBBYBBYYBYBYBBYBYBYBYBYYYYYBYBBBBBBBBBBYYBBBBYBBYBBYYYYYBBBYBYBBYYBYYBBYYYYYBBYBYBYBBYBYBYYYYBBBBYBYYYYYBYYYYBYBYYYBYBYYYYBBYBYBYBYBBBYYBYBBBBBBBBYYYYBYBYYBYBYBYYBBBYBYYYBBYBBYYYYYBBYBBYYYYYBYYBYYYBBBYYYYBBBBBYYBBBYYYBYYBYYBYBYYBBYYBBBYBYBYYBBBBYYBYYYBBBYYBBBBYBBBYYYB...

output:

-3233119

result:

ok 1 number(s): "-3233119"

Test #14:

score: 0
Accepted
time: 117ms
memory: 7968kb

input:

1000
-BBYBBBBBYBBBYYBBBYYBYBBBYBYBBBYBBYBBYBBYBBBYYBBYBYYBBBBBYYBBBBBYYYBBBBBBYBBBYYYBBBYBYYYBBBBBYBYYYBBBBBYYBBBBYYBBBBBBBBBBBBBYBBBBYBBBBYBBBBYBYYBBBBBYBYYBBBYBYBBBBBYYBBBBBBBBBBBBBBBYYBBYYYYBBYBYYBBBBBBYBBYBBBYBBBBYBYYBBBBBYYBYBBYBBBBBYBYYBBYBBYYBYBYYYYYYBBYYBBBBYBYBBYBBBYYBYYBBBYBBYBBYBYBBBBBYBB...

output:

-6052668374

result:

ok 1 number(s): "-6052668374"

Test #15:

score: 0
Accepted
time: 114ms
memory: 6344kb

input:

1000
-BYYBYYYYYYYYYBYYYYYYYYYYYYBYYYYBYYYYYBYYBYYYYYYYYYYYYYYYYBYYYYBYYYYYYYYYBYYYBBYYYYYYYYYYYYYYYYYYYYYYYYYYYYBYYYYYBYBYYYBYYBYYYYBBYYYYYYYYYYYYYYYYYYBYYYBYBYYBYYBYYBYBYYBYBYYYYYYYYYYYYYYBBBYYBYYYYYBYYBYYYYYYYYYBYBYYYYYYYYYYYYBYYYYYYYYYYYYYYYYYYYYBYYYYYYYYYBYYYBYYYYYYBYYBYYYYYBYYYYYBYYYYBBYBYYBYBY...

output:

-15355158378

result:

ok 1 number(s): "-15355158378"

Test #16:

score: 0
Accepted
time: 473ms
memory: 8568kb

input:

2000
-BYBBYYBYBYBYBBYBBBYBBYYBYBYYYYYYBBYBBBYBYBBYYBBBYBBBYBBBYBYYBYBYYYYYYBYYYBYBBBBBBYYBYYBYYYYYYYBBBYYYBYYBBBYBYBBBBBYBBYBYBYYBYBYYBBYBYBBYYBYBBBBBBBBBBBYYBBBBBYBYYYBYYBYYYBYYYYYBYYYYBBBBBBBYYYYBYYBBBYBYBBYYYYBBYBYBYBBBYBBBBYBBYBYYBYYYBBYBBYYYBYBYYYBYYYYBYBYBBBBBBBYYBBYYYBBYBBBBBYBBBYYYYYBYBBBYYY...

output:

14871328

result:

ok 1 number(s): "14871328"

Test #17:

score: 0
Accepted
time: 465ms
memory: 8648kb

input:

2000
-BBBBYYBBYYYBYBBYBBYBBBBBYBBBBBBYBYYYBBBBBBBBBBBBBYBYBBBBBBBBBBBYYBBBBBBBBBBBYYBBBBYBBBYYBBBBBYBBBBBYBBBBBBYBYBBYYYBYBBBBYYBBBYYYBYBBYBBBBBYBBBBBBBBYBBYBBYBBBBYBBBYBBBBYYYBBYBYBBBBBYBYBYYBBYYBBBBBBBBBBYYYYBYBBYBYBBBBBBBBYBYBYBBBBBBYYYBYBBBBBBBBYYBBBBBBBYYBBBYYBYBBBBYBBYYBBBBYBBBBBYBBYYBBYBBBYBY...

output:

-98751748805

result:

ok 1 number(s): "-98751748805"

Test #18:

score: 0
Accepted
time: 449ms
memory: 8796kb

input:

2000
-YYYYBYYYYYYYYYYBYYYYYBYYYYYBBBYYYYYYYBYYYYYYYYBBYYYYYYYYYBYYYYYBYBYYYYYYYYBYYYBYYYYYYYBYYYYYYYYYYYYYYBBBBBYYYYYYYYYYYYYYYBYYYYBYYYYYBYBYYYYYYYYYYBYYYYBYYYYYYYBYYYYYYYYYYBYYYYYYBBYYBYYBBYYYYYBYYBYYYYYYYBYBYYBYYBYBBYYYYYBYBYYBYYYYYYYBYYBYYYYYYYYYBYBYYBYYYYYYYYYYYYYYBYBYYYYYBYYYYYYYBYBYYYYYBYYYYY...

output:

-246238368355

result:

ok 1 number(s): "-246238368355"

Test #19:

score: 0
Accepted
time: 484ms
memory: 8576kb

input:

2000
-BBBBYBBBBBBYBYBBBYYBBBBBBBBBBBBBBBBYBBBYBYYBBBBBBBBBYYBBBYBBBBBYBBYBBBBBYBBBYBBBBBBBBBBBBBBBBBBBYBBBYYBYBBYBYBBYYBYYBBYBYYYYBBYBYBBBBBYYBBYYBBBBBYBBBBBBYBBBBYBBBYBBBBYBBBBBBBBBBBBBBYBBBBBYBYYBBBBYBBBYBBYBBBBBBYBBBBBYYYBBYYBBBBBBBBBBBBYYBBBBYBYBBBBYYBBBYBBBBBBBBBBYBBBBBBBBYBYYYBBYBYYBBBBBYBBBBB...

output:

-186887776300

result:

ok 1 number(s): "-186887776300"

Test #20:

score: 0
Accepted
time: 446ms
memory: 8536kb

input:

2000
-BBYYBBBBBBBBBBBBYBYBBBBBBBBBBBBBBYBBBBBBBBBBBBYBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBYBBYBBBBBBBBBBBBBBBBBBBBBBBBBBBYBBBBBBBBBBBYBBBBBYBBYBBBBBYYBBYBYBYBBBYBBBBYBBBBYBBBBBBBBBBBBBYBBBBBBBBBBBBBBYBBBBBBBBBBBBBBBBYBBBYBBBYBBBBBBBYBBYBBBBBBBBBBYBBYBBBBYBBYYBBBBBBYBBBBBBBBBYBBBBBBBBBBBBBBBBBYYBBYBBYBBYBB...

output:

-245343471492

result:

ok 1 number(s): "-245343471492"

Test #21:

score: 0
Accepted
time: 452ms
memory: 8508kb

input:

2000
-YYBBBBBBBBBBBBBBBYYBBBBYBBBYYBYBBYYBYYYYBBYBYYBBBYYYBBBYBBYBYYBBBBYBBYBBBBBYBYBYYYBBYBYBBBBYYBBBBBBYYBBBBYBBYYBBBBYBYBBBBYBBYBBYYYBYYBBYBBYBYYBBYBBYBYYYBBBBBBBYYBBYBBBBYBBYYBYYYBYBYBBYYYBBBBBBBBBYYBBBBBYBBBBYBBBBBYBBYYYBBBYBBYYBBBYYBBYBBBBBBYBBYBYBBBBBBBYBBBYBBBBBYBBYBYYBBBYYBBBBBBBBYBYBBYBYBY...

output:

-50383073264

result:

ok 1 number(s): "-50383073264"