Check out my blog: https://nguyenvanhieu.vn
import re
pats = [
'á|à|ả|ã|ạ|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ',
import re | |
def no_accent_vietnamese(s): | |
s = s.lower() | |
s = re.sub('[áàảãạăắằẳẵặâấầẩẫậ]', 'a', s) | |
s = re.sub('[éèẻẽẹêếềểễệ]', 'e', s) | |
s = re.sub('[óòỏõọôốồổỗộơớờởỡợ]', 'o', s) | |
s = re.sub('[íìỉĩị]', 'i', s) | |
s = re.sub('[úùủũụưứừửữự]', 'u', s) | |
s = re.sub('[ýỳỷỹỵ]', 'y', s) | |
s = re.sub('đ', 'd', s) |
a | |
ai | |
am | |
an | |
ang | |
anh | |
ao | |
au | |
ay | |
ba |
#include <iostream> | |
#include <cstring> | |
using namespace std; | |
int buildlps (char * pat, int m, int *lps){ | |
lps[0] = lps[1] = 0; | |
for(int i=2; i<=m; i++){ | |
int j = lps[i-1]; | |
while(1){ |
//shihongzhi -- 2012.3.9 | |
#include <stdio.h> | |
#include <string.h> | |
void KMP(char *T, char *P, int *pi) | |
{ | |
int tLen = strlen(T); | |
int pLen = strlen(P); | |
int k = 0; | |
for (int i=0; i<tLen; ++i) |
#define MAXN 100000 | |
#define MAX_LOG 17 | |
int n,s[MAXN+5]; | |
int st[MAX_LOG+1][MAXN+5]; | |
inline void init(){/*假設區間由[0~n-1]*/ | |
for(int i=0;i<n;++i)st[0][i]=s[i]; | |
for(int j=1;(1<<j)<=n;++j) | |
for(int i=0;i+(1<<j)<=n;++i) | |
st[j][i]=min(st[j-1][i],st[j-1][i+(1<<(j-1))]); | |
} |
#include <cstdio> | |
#include <iostream> | |
#include <cstring> | |
#include <vector> | |
#include <cstdlib> | |
#include <algorithm> | |
#include <map> | |
#include <utility> | |
#include <cctype> |
#include <stdio.h> | |
#include <conio.h> | |
#include <stdlib.h> | |
struct SinhVien{ | |
char ten[30]; | |
char gt[5]; | |
int age; | |
float dT, dL, dH; |
Check out my blog: https://nguyenvanhieu.vn
import re
pats = [
'á|à|ả|ã|ạ|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ',
a | |
ai | |
am | |
an | |
ang | |
anh | |
ao | |
au | |
ay | |
ba |