結果
問題 | No.2291 Union Find Estimate |
ユーザー |
![]() |
提出日時 | 2023-05-05 22:27:44 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 30 ms / 2,000 ms |
コード長 | 576 bytes |
コンパイル時間 | 5,127 ms |
コンパイル使用メモリ | 176,960 KB |
実行使用メモリ | 6,264 KB |
最終ジャッジ日時 | 2024-11-23 09:15:29 |
合計ジャッジ時間 | 5,232 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
#define MD 998244353 ll@w,@h; unionFind u('m',w,1); Mint z=Mint(10)**w; ll b[w]; rep(j,w)b[j]=1023; rep(h){ string@q; ll a[26]{}; rep(j,w){ ll c=q[j]; ll k=u(j); if(c>='0'&&c<='9'){ c-='0'; if(b[k]!=1<<c){ z/=BIT_popcount(b[k]); b[k]&=1<<c; z*=BIT_popcount(b[k]); } } if(c>='a'&&c<='z'){ c-='a'; if(a[c]){ ll d=u(a[c]-1); if(u(d,k)){ z/=BIT_popcount(b[d]); if(b[d]!=b[k]){ z/=BIT_popcount(b[k]); b[u(d)]=b[d]&b[k]; z*=BIT_popcount(b[u(d)]); } } }else{ a[c]=k+1; } } } wt(z); }