Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>int main(){char s[100010],t[10];int N,M;int cp[26][26];int max[26],ans;int i,j,k,l;while(scanf("%d %d",&N)!=EOF){memset(cp,0,sizeof(cp));memset(max,0,sizeof(max));ans=0;scanf("%s",&s);scanf("%d",&M);for(i=0;i<M;i++){scanf("%s",&t);cp[t[0]-'a'][t[1]-'a']=1;cp[t[1]-'a'][t[0]-'a']=1;}for(i=N-1;i>=0;i--){l=0;k=s[i]-'a';for(j=0;j<26;j++){if(cp[k][j]==0 && max[j]+1>l){l=max[j]+1;