Submission #36571934
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
const int MOD=998244353;
using mint = atcoder::static_modint<MOD>;
using namespace std;
#define rep(i,a,n) for (int i=a;i<(int)n;i++)
#define per(i,a,n) for (int i=n;i-->(int)a;)
int read(){int r;scanf("%d",&r);return r;}
vector<int> G[3010];
int c[3010];
mint dp[3010][3010][2][2];// dp[i次移动][停止在j]
// [0][0] 用于(v,v), [0][1] 用于(v,\neq v), [1][0] 用于(\neq v,v),[1][1]:(\neq v,\neq v)
mint dinv[3010]; // 1/du[i]
int main(){
int n=read();
int m=read();
int k=read();
rep(i,1,m+1){
int u=read();
int v=read();
G[u].push_back(v);
G[v].push_back(u);
}
rep(i,1,n+1) c[i] = read();
rep(i,1,n+1) dinv[i] = mint(G[i].size()).inv();
dp[0][1][0][0] = 1;
rep(i,0,k) rep(u,1,n+1) rep(a,0,2) rep(b,0,2) for(auto v: G[u]) rep(na,a,2) rep(nb,b,2){ // na >= a, nb >= b
if(c[v] == 0 || (na==a && nb==b)) dp[i+1][v][na][nb] += dp[i][u][a][b] * dinv[u];
}
mint ans = 0;
rep(i,1,k+1)rep(j,1,n+1) if(c[j]) ans += dp[i][j][1][1];
printf("%d\n",ans.val());
return 0;
}
Submission Info
Compile Error
./Main.cpp: In function ‘int read()’:
./Main.cpp:8:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
8 | int read(){int r;scanf("%d",&r);return r;}
| ~~~~~^~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
600 / 600 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
example0.txt, example1.txt |
| All |
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, example0.txt, example1.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 000.txt |
AC |
93 ms |
145196 KiB |
| 001.txt |
AC |
93 ms |
145308 KiB |
| 002.txt |
AC |
87 ms |
145192 KiB |
| 003.txt |
AC |
94 ms |
145316 KiB |
| 004.txt |
AC |
92 ms |
145284 KiB |
| 005.txt |
AC |
91 ms |
145252 KiB |
| 006.txt |
AC |
597 ms |
145412 KiB |
| 007.txt |
AC |
600 ms |
145452 KiB |
| 008.txt |
AC |
500 ms |
145460 KiB |
| 009.txt |
AC |
503 ms |
145300 KiB |
| 010.txt |
AC |
485 ms |
145332 KiB |
| 011.txt |
AC |
480 ms |
145460 KiB |
| 012.txt |
AC |
479 ms |
145424 KiB |
| 013.txt |
AC |
692 ms |
145384 KiB |
| 014.txt |
AC |
694 ms |
145436 KiB |
| 015.txt |
AC |
713 ms |
145288 KiB |
| 016.txt |
AC |
712 ms |
145292 KiB |
| 017.txt |
AC |
731 ms |
145460 KiB |
| 018.txt |
AC |
732 ms |
145332 KiB |
| 019.txt |
AC |
170 ms |
145256 KiB |
| 020.txt |
AC |
305 ms |
145476 KiB |
| 021.txt |
AC |
411 ms |
145412 KiB |
| 022.txt |
AC |
573 ms |
145264 KiB |
| 023.txt |
AC |
553 ms |
145500 KiB |
| 024.txt |
AC |
165 ms |
145356 KiB |
| 025.txt |
AC |
382 ms |
145388 KiB |
| 026.txt |
AC |
731 ms |
145460 KiB |
| 027.txt |
AC |
739 ms |
145432 KiB |
| 028.txt |
AC |
527 ms |
145360 KiB |
| 029.txt |
AC |
719 ms |
145424 KiB |
| 030.txt |
AC |
816 ms |
145416 KiB |
| 031.txt |
AC |
814 ms |
145328 KiB |
| 032.txt |
AC |
822 ms |
145324 KiB |
| example0.txt |
AC |
92 ms |
145424 KiB |
| example1.txt |
AC |
90 ms |
145232 KiB |