?
Danganronpa
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 241 Accepted Submission(s): 137
Problem Description Danganronpa is a video game franchise created and developed by Spike Chunsoft, the series' name is compounded from the Japanese words for bullet (dangan) and refutation (ronpa).
Now, Stilwell is playing this game. There are
Verbal evidences will be described as some strings
For example:
Stilwell wants to calculate the total damage of each verbal evidence
Input The first line of the input contains a single number
For each test case, the first line contains two integers
Next
Next
For each test case,
For all test case,
Output For each test case, output
Sample Input
1 5 6 orz sto kirigiri danganronpa ooooo o kyouko dangan ronpa ooooo ooooo
Sample Output
1 1 0 3 7
Source 2015 Multi-University Training Contest 8
#includeusing namespace std; #define prt(k) cerr<<#k = < q; for (int i=0;i<26;i++) { int &v = ch[0][i]; if (v != -1) { q.push(v); fail[v] = 0; } else v = 0; } while (!q.empty()) { int u = q.front(); q.pop(); for (int i=0;i<26;i++) { int &v = ch[u][i]; if (v==-1) { v = ch[fail[u]][i]; } else { fail[v] = ch[fail[u]][i]; q.push(v); } } } } ll query(char buf[], int len) { ll ret = 0; int u = 0; for (int i=0;i 0; v=fail[v]) ret += ed[v]; } return ret; } int n, m; int main() { int re, ca= 1; scanf(%d, &re); while (re--) { scanf(%d%d, &n, &m); pos[0] = 0; for (int i=0;i ?
?
?