QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#369012 | #1836. Glory Graph | crsfaa | AC ✓ | 484ms | 8796kb | C++14 | 1.6kb | 2024-03-27 19:23:16 | 2024-03-27 19:23:17 |
Judging History
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"