QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#349307#1836. Glory GraphredwhiteAC ✓126ms8292kbC++172.3kb2024-03-10 00:51:362024-03-10 00:51:37

Judging History

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

  • [2024-03-10 00:51:37]
  • 评测
  • 测评结果:AC
  • 用时:126ms
  • 内存:8292kb
  • [2024-03-10 00:51:36]
  • 提交

answer

/*
    IN THE NAME OF GOD
*/
#include <bits/stdc++.h>

// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
// #pragma GCC optimize("O3")
// #pragma GCC optimize("unroll-loops")

using namespace std;

typedef long long ll;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii;
typedef long double ld;

#define F                                      first
#define S                                      second
#define Mp                                     make_pair
#define pb                                     push_back
#define pf                                     push_front
#define size(x)                                ((ll)x.size())
#define all(x)                                 (x).begin(),(x).end()
#define kill(x)		                           cout << x << '\n', exit(0);
#define fuck(x)                                cout << "(" << #x << " , " << x << ")" << endl
#define endl                                   '\n'

const int N = 3e5+23, lg = 18;
ll Mod = 1e9+7; //998244353;

inline ll MOD(ll a, ll mod=Mod) {a%=mod; (a<0)&&(a+=mod); return a;}
inline ll poww(ll a, ll b, ll mod=Mod) {
    ll ans = 1;
    a=MOD(a, mod);
    while (b) {
        if (b & 1) ans = MOD(ans*a, mod);
        b >>= 1;
        a = MOD(a*a, mod);
    }
    return ans;
}

ll ans, n, deg[2][N], y[10];
bitset<2002> b[2][2002];
int main () {
	ios_base::sync_with_stdio(false), cin.tie(0);

	cin>>n;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=n; j++) {
			char ch; cin>>ch;
			int x = (ch=='Y');
			if(j!=i) {
				b[x][i][j] = 1;
				deg[x][i] ++;
			}
		}
	}

	ans = -n*(n-1)*(n-2)*(n-3)/8ll;

	ll ans3 = 0;
	for(int i=1; i<=n; i++) {
		ans3 += (2ll*deg[0][i]*deg[1][i]*(n-3));
	}
	ans3/=(4ll); ans+=ans3;
	//fuck(ans);
	ll ans2 = 0;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=i; j++) {
			if(i==j) continue;
			if(b[1][i][j] == 1) {
				ll num = (b[1][i]&b[1][j]).count();
				ans2 += (2ll*num*(num-1));
				num = (b[0][i]&b[0][j]).count();
				ans2 -= (2ll*num*(num-1));
			} else {
				ll num = (b[0][i]&b[0][j]).count();
				ans2 += (2ll*num*(num-1));
				num = (b[1][i]&b[1][j]).count();
				ans2 -= (2ll*num*(num-1));
			}
		}
	}
	//ans = ans - (y[1]+y[2]+y[3]+y[4])*(n-3);
	ans2/=(8ll);

	cout<<ans+ans2<<endl;

	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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

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

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

input:

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

output:

-2

result:

ok 1 number(s): "-2"

Test #5:

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

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

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

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

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

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

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

input:

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

output:

5474

result:

ok 1 number(s): "5474"

Test #12:

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

input:

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

output:

-649105

result:

ok 1 number(s): "-649105"

Test #13:

score: 0
Accepted
time: 32ms
memory: 6256kb

input:

1000
-BBYBYBBYYYYBBYBBBBYBYYBYBYYBBYBBYYBYBYBBYBYBYBYBYYYYYBYBBBBBBBBBBYYBBBBYBBYBBYYYYYBBBYBYBBYYBYYBBYYYYYBBYBYBYBBYBYBYYYYBBBBYBYYYYYBYYYYBYBYYYBYBYYYYBBYBYBYBYBBBYYBYBBBBBBBBYYYYBYBYYBYBYBYYBBBYBYYYBBYBBYYYYYBBYBBYYYYYBYYBYYYBBBYYYYBBBBBYYBBBYYYBYYBYYBYBYYBBYYBBBYBYBYYBBBBYYBYYYBBBYYBBBBYBBBYYYB...

output:

-3233119

result:

ok 1 number(s): "-3233119"

Test #14:

score: 0
Accepted
time: 32ms
memory: 6260kb

input:

1000
-BBYBBBBBYBBBYYBBBYYBYBBBYBYBBBYBBYBBYBBYBBBYYBBYBYYBBBBBYYBBBBBYYYBBBBBBYBBBYYYBBBYBYYYBBBBBYBYYYBBBBBYYBBBBYYBBBBBBBBBBBBBYBBBBYBBBBYBBBBYBYYBBBBBYBYYBBBYBYBBBBBYYBBBBBBBBBBBBBBBYYBBYYYYBBYBYYBBBBBBYBBYBBBYBBBBYBYYBBBBBYYBYBBYBBBBBYBYYBBYBBYYBYBYYYYYYBBYYBBBBYBYBBYBBBYYBYYBBBYBBYBBYBYBBBBBYBB...

output:

-6052668374

result:

ok 1 number(s): "-6052668374"

Test #15:

score: 0
Accepted
time: 32ms
memory: 6172kb

input:

1000
-BYYBYYYYYYYYYBYYYYYYYYYYYYBYYYYBYYYYYBYYBYYYYYYYYYYYYYYYYBYYYYBYYYYYYYYYBYYYBBYYYYYYYYYYYYYYYYYYYYYYYYYYYYBYYYYYBYBYYYBYYBYYYYBBYYYYYYYYYYYYYYYYYYBYYYBYBYYBYYBYYBYBYYBYBYYYYYYYYYYYYYYBBBYYBYYYYYBYYBYYYYYYYYYBYBYYYYYYYYYYYYBYYYYYYYYYYYYYYYYYYYYBYYYYYYYYYBYYYBYYYYYYBYYBYYYYYBYYYYYBYYYYBBYBYYBYBY...

output:

-15355158378

result:

ok 1 number(s): "-15355158378"

Test #16:

score: 0
Accepted
time: 126ms
memory: 6740kb

input:

2000
-BYBBYYBYBYBYBBYBBBYBBYYBYBYYYYYYBBYBBBYBYBBYYBBBYBBBYBBBYBYYBYBYYYYYYBYYYBYBBBBBBYYBYYBYYYYYYYBBBYYYBYYBBBYBYBBBBBYBBYBYBYYBYBYYBBYBYBBYYBYBBBBBBBBBBBYYBBBBBYBYYYBYYBYYYBYYYYYBYYYYBBBBBBBYYYYBYYBBBYBYBBYYYYBBYBYBYBBBYBBBBYBBYBYYBYYYBBYBBYYYBYBYYYBYYYYBYBYBBBBBBBYYBBYYYBBYBBBBBYBBBYYYYYBYBBBYYY...

output:

14871328

result:

ok 1 number(s): "14871328"

Test #17:

score: 0
Accepted
time: 124ms
memory: 6680kb

input:

2000
-BBBBYYBBYYYBYBBYBBYBBBBBYBBBBBBYBYYYBBBBBBBBBBBBBYBYBBBBBBBBBBBYYBBBBBBBBBBBYYBBBBYBBBYYBBBBBYBBBBBYBBBBBBYBYBBYYYBYBBBBYYBBBYYYBYBBYBBBBBYBBBBBBBBYBBYBBYBBBBYBBBYBBBBYYYBBYBYBBBBBYBYBYYBBYYBBBBBBBBBBYYYYBYBBYBYBBBBBBBBYBYBYBBBBBBYYYBYBBBBBBBBYYBBBBBBBYYBBBYYBYBBBBYBBYYBBBBYBBBBBYBBYYBBYBBBYBY...

output:

-98751748805

result:

ok 1 number(s): "-98751748805"

Test #18:

score: 0
Accepted
time: 124ms
memory: 8292kb

input:

2000
-YYYYBYYYYYYYYYYBYYYYYBYYYYYBBBYYYYYYYBYYYYYYYYBBYYYYYYYYYBYYYYYBYBYYYYYYYYBYYYBYYYYYYYBYYYYYYYYYYYYYYBBBBBYYYYYYYYYYYYYYYBYYYYBYYYYYBYBYYYYYYYYYYBYYYYBYYYYYYYBYYYYYYYYYYBYYYYYYBBYYBYYBBYYYYYBYYBYYYYYYYBYBYYBYYBYBBYYYYYBYBYYBYYYYYYYBYYBYYYYYYYYYBYBYYBYYYYYYYYYYYYYYBYBYYYYYBYYYYYYYBYBYYYYYBYYYYY...

output:

-246238368355

result:

ok 1 number(s): "-246238368355"

Test #19:

score: 0
Accepted
time: 125ms
memory: 6812kb

input:

2000
-BBBBYBBBBBBYBYBBBYYBBBBBBBBBBBBBBBBYBBBYBYYBBBBBBBBBYYBBBYBBBBBYBBYBBBBBYBBBYBBBBBBBBBBBBBBBBBBBYBBBYYBYBBYBYBBYYBYYBBYBYYYYBBYBYBBBBBYYBBYYBBBBBYBBBBBBYBBBBYBBBYBBBBYBBBBBBBBBBBBBBYBBBBBYBYYBBBBYBBBYBBYBBBBBBYBBBBBYYYBBYYBBBBBBBBBBBBYYBBBBYBYBBBBYYBBBYBBBBBBBBBBYBBBBBBBBYBYYYBBYBYYBBBBBYBBBBB...

output:

-186887776300

result:

ok 1 number(s): "-186887776300"

Test #20:

score: 0
Accepted
time: 124ms
memory: 6800kb

input:

2000
-BBYYBBBBBBBBBBBBYBYBBBBBBBBBBBBBBYBBBBBBBBBBBBYBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBYBBYBBBBBBBBBBBBBBBBBBBBBBBBBBBYBBBBBBBBBBBYBBBBBYBBYBBBBBYYBBYBYBYBBBYBBBBYBBBBYBBBBBBBBBBBBBYBBBBBBBBBBBBBBYBBBBBBBBBBBBBBBBYBBBYBBBYBBBBBBBYBBYBBBBBBBBBBYBBYBBBBYBBYYBBBBBBYBBBBBBBBBYBBBBBBBBBBBBBBBBBYYBBYBBYBBYBB...

output:

-245343471492

result:

ok 1 number(s): "-245343471492"

Test #21:

score: 0
Accepted
time: 121ms
memory: 8172kb

input:

2000
-YYBBBBBBBBBBBBBBBYYBBBBYBBBYYBYBBYYBYYYYBBYBYYBBBYYYBBBYBBYBYYBBBBYBBYBBBBBYBYBYYYBBYBYBBBBYYBBBBBBYYBBBBYBBYYBBBBYBYBBBBYBBYBBYYYBYYBBYBBYBYYBBYBBYBYYYBBBBBBBYYBBYBBBBYBBYYBYYYBYBYBBYYYBBBBBBBBBYYBBBBBYBBBBYBBBBBYBBYYYBBBYBBYYBBBYYBBYBBBBBBYBBYBYBBBBBBBYBBBYBBBBBYBBYBYYBBBYYBBBBBBBBYBYBBYBYBY...

output:

-50383073264

result:

ok 1 number(s): "-50383073264"