Codeforces Good Bye 2021: 2022 is NEAR F問題 (3000pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
#define MD 3
Modint **aa, *b, *x;
walloc2d(&aa, 1d4, 257);
walloc1d(&b, 1d4);
walloc1d(&x, 257);
REP(rd_int()){
int @N, @M, A[M], B[M], C[M], ind[M], m[N][N], r = 0, c = 0, xx, yy, zz, v;
rd((A--,B--,C--)(M));
rep(i,N) rep(j,N) m[i][j] = -1;
rep(i,M) m[A[i]][B[i]] = m[B[i]][A[i]] = i;
rep(i,M) if(C[i] < 0) ind[i] = c++;
rep(i,N) rep(j,i+1,N) rep(k,j+1,N) if(m[i][j]>=0 && m[i][k]>=0 && m[j][k]>=0){
(xx, yy, zz) = (m[i][j], m[i][k], m[j][k]);
v = max(0, C[xx]) + max(0, C[yy]) + max(0, C[zz]);
if(C[xx] >= 0 && C[yy] >= 0 && C[zz] >= 0) if(v%3) wt(-1), break_break_break_continue;
rep(l,c) aa[r][l] = 0;
if(C[xx] < 0) aa[r][ind[xx]] = 1;
if(C[yy] < 0) aa[r][ind[yy]] = 1;
if(C[zz] < 0) aa[r][ind[zz]] = 1;
b[r] = -v;
r++;
}
if(LinearEquation(r,c,aa,b,x) == -1) wt(-1), continue;
rep(i,M) if(C[i] < 0) C[i] = (int)x[ind[i]];
wt(C(M)+1);
}
Current time: 2024年05月19日03時56分17秒
Last modified: 2021年12月31日18時02分39秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces Codeforces_Good_Bye_2021
トップページに戻る
Logged in as: unknown user (not login)