Submission #68563178


Source Code Expand

#include <bits/stdc++.h>
//#include <windows.h>
//taskkill /f /im 未命名1.exe
#define ED cerr<<endl;
#define TS cerr<<"I AK IOI"<<endl;
#define cr(x) cerr<<x<<endl;
#define cr2(x,y) cerr<<x<<" "<<y<<endl;
#define cr3(x,y,z) cerr<<x<<" "<<y<<" "<<z<<endl;
#define cr4(x,y,z,w) cerr<<x<<" "<<y<<" "<<z<<" "<<w<<endl;
#define pr(a,l,r) for(int i=l;i<=r;++i) cerr<<a[i]<<' ';ED
#define popcnt __builtin_popcount
#define all(s) s.begin(),s.end()
#define bstring basic_string
//#define add(x,y) (x+=y)%=mod
#define pii pair<int,int>
#define epb emplace_back
#define pb push_back
#define mk make_pair
#define ins insert
#define fi first
#define se second
#define ll long long
#define ull unsigned long long
using namespace std;
const int N=105,M=(1<<8)+5,INF=2e9,mod=998244353;
int n,l;
int tr[N][26],ne[N],_ss[N],ss[N],idx=0;

void insert(char str[],int id) {
	int p=0;
	for(int i=0;str[i];++i) {
		int to=str[i]-'a';
		if(!tr[p][to]) tr[p][to]=++idx;
		p=tr[p][to];
	}
	_ss[p]|=(1<<id);
}

queue<int> q;

void build_AC() {
	for(int i=0;i<26;++i) {
		if(tr[0][i]) q.push(tr[0][i]);
	}
	while(!q.empty()) {
		int t=q.front();
		q.pop();
		for(int i=0;i<26;++i) {
			int c=tr[t][i];
			if(!c) tr[t][i]=tr[ne[t]][i];
			else {
				ne[c]=tr[ne[t]][i];
				q.push(c);
			}
		}
	}
	for(int i=0;i<=idx;++i) {
		int p=i,v=_ss[i];
		while(p) {
			v|=_ss[p];
			p=ne[p];
		}
		ss[i]=v;
	}
}
char s[12];
ll dp[N][N][M];

int main()
{
	scanf("%d%d",&n,&l);
	for(int i=0;i<n;++i) {
		scanf("%s",s),insert(s,i);
	}
	build_AC(),dp[0][0][0]=1;
	for(int i=1;i<=l;++i) {
		for(int j=0;j<=idx;++j) {
			for(int k=0;k<(1<<n);++k) {
				for(int l=0;l<26;++l) {
					int to=tr[j][l];
					dp[i][to][k|ss[to]]=(dp[i][to][k|ss[to]]+dp[i-1][j][k])%mod;
				}
			}
		}
	}
	int ans=0,all=(1<<n)-1;
	for(int i=0;i<=idx;++i) {
		ans=(ans+dp[l][i][all])%mod;
	}
	printf("%d\n",ans);
	return 0;
}

Submission Info

Submission Time
Task F - All Included
User Include_S_Z_C_
Language C++ 17 (gcc 12.2)
Score 550
Code Size 1955 Byte
Status AC
Exec Time 187 ms
Memory 20548 KiB

Compile Error

Main.cpp: In function ‘int main()’:
Main.cpp:71:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   71 |         scanf("%d%d",&n,&l);
      |         ~~~~~^~~~~~~~~~~~~~
Main.cpp:73:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   73 |                 scanf("%s",s),insert(s,i);
      |                 ~~~~~^~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 550 / 550
Status
AC × 3
AC × 36
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3736 KiB
00_sample_01.txt AC 1 ms 3784 KiB
00_sample_02.txt AC 7 ms 7252 KiB
01_test_00.txt AC 99 ms 12188 KiB
01_test_01.txt AC 151 ms 16280 KiB
01_test_02.txt AC 137 ms 14984 KiB
01_test_03.txt AC 95 ms 12100 KiB
01_test_04.txt AC 168 ms 18496 KiB
01_test_05.txt AC 171 ms 18616 KiB
01_test_06.txt AC 111 ms 14104 KiB
01_test_07.txt AC 169 ms 19120 KiB
01_test_08.txt AC 172 ms 19680 KiB
01_test_09.txt AC 90 ms 13936 KiB
01_test_10.txt AC 142 ms 18692 KiB
01_test_11.txt AC 152 ms 20312 KiB
01_test_12.txt AC 138 ms 15300 KiB
01_test_13.txt AC 158 ms 16936 KiB
01_test_14.txt AC 164 ms 18164 KiB
01_test_15.txt AC 182 ms 19520 KiB
01_test_16.txt AC 163 ms 18976 KiB
01_test_17.txt AC 178 ms 19988 KiB
01_test_18.txt AC 135 ms 19464 KiB
01_test_19.txt AC 158 ms 20336 KiB
01_test_20.txt AC 67 ms 9528 KiB
01_test_21.txt AC 85 ms 10952 KiB
01_test_22.txt AC 73 ms 10408 KiB
01_test_23.txt AC 106 ms 13040 KiB
01_test_24.txt AC 72 ms 10484 KiB
01_test_25.txt AC 84 ms 11500 KiB
01_test_26.txt AC 52 ms 9176 KiB
01_test_27.txt AC 78 ms 12240 KiB
01_test_28.txt AC 1 ms 3676 KiB
01_test_29.txt AC 2 ms 3996 KiB
01_test_30.txt AC 24 ms 6116 KiB
01_test_31.txt AC 187 ms 20548 KiB
01_test_32.txt AC 39 ms 7348 KiB