#include#include#include
intmain()
;//存放非終結符號
char vt[30]=;//
存放終結符號
printf("
請輸入規則個數");
scanf("%d
",&n);
line=n;
for(i=0;i<30;i++)//
給字串陣列p,q全部賦值為'\0'
for(j=0;j<30;j++)
printf(
"請輸入文法:\n");
for(i=0;i)
//把字元分為終結符和非終結符
l=0; m=0
;
for(i=0;i)
}if(flag==0
)
}//終結符放在陣列vt中
if(p[i][j]<='
z'&&p[i][j]>='a'
)
}if(flag==0
) }}
}//把規則右部分分離,放入陣列q中
count=0
; k=0
;
for(i=0;i)
else
}count++;
k=0; }
//判斷是確定的還是非確定的有窮狀態自動機,並進行前半部分列印
//判斷依據:q陣列中每一行字串是否相同
flag=0
;
for(i=0;i)}}
if(flag==1
) ,)\n");
}else
,)\n");
}printf(
"其中,\nk=
printf(
"}\n");
printf("e=
printf(
"}\n");
//分離文法
k=0; count=0
;
for(i=0;i)
else
if(p[i][j]=='l'
) }}
count++;
k=0; }
printf("\n
");//列印m後部分
有窮的自動機構造
include include include int main 存放非終結符號 char vt 30 存放終結符號 printf 請輸入規則個數 scanf d n line n for i 0 i 30 i 給字串陣列p,q全部賦值為 0 for j 0 j 30 j printf 請輸入文法 ...
自動機 構造
題目大意 給你乙隻n個點的確定自動機,和字符集大小m,每個節點都恰好m條轉移邊。構造乙個字串長度不超過1e6,使得從任意節點出發接收這個狀態回到達1號點,n 100,m 26。spj。題解 其實是給你乙個nfa然後求一條路徑,然後我一開始傻叉了,還真的傻了吧唧的寫了個nfa轉dfa以為可過,最後發現...
有窮自動機
problem description adfa 證明 adfa是可判定的。實驗方法 編寫乙個演算法 程式,對於任意給定的輸入,可以判定adfa。input 有多個測試序列,測試結束於測試檔案結束 每個測試序列的第一行為幾個正整數n m t a分別表示有n個狀態,從a開始m個小寫字母組成的字符集,第...