📄 main.cpp
字号:
#include <stdio.h>
//#include <cstring>
//using namespace std;
//#define MAXN 100
//#define MAXR 1000
int main()
{
//
int n,m,r,i,j;
int w[100][2];
int accept[100];
// cout<<"输入n,m,r:"<<endl;
// cout<<"n:状态个数,m:接受状态个数,r字符串长度"<<endl;
// cin>>n>>m>>r;
scanf("%d %d %d",&n,&m,&r);
// cout<<n<<" "<<m<<" "<<r<<endl;
//cin.getline(str,sizeof(str),'\n');
// cout<<"转移函数:"<<endl;
for( i=0;i<n;i++)
{
for( j=0;j<2;j++)
scanf("%d",&w[i][j]);
// cin>>w[i][j];
}
//cout<<"输入接受状态:"<<m<<"个"<<endl;
for( j=0;j<m;j++)
//cin>>accept[j];//接受状态
scanf("%d",&accept[j]);
int s[1000];
//字符串
char cs[1000];
// cout<<"输入字符串长度为:"<<r<<endl;
// cin>>cs;
scanf("%s",&cs);
for( j=0;j<r;j++)
s[j]=cs[j]-'0';
int end=1;
for(i=0;i<r;i++)
{
//cout<<end<<"<"<<s[i]<<">"<<"->";
if (s[i]==0)
end=w[end-1][0];
if (s[i]==1)
end=w[end-1][1];
}
// cout<<end<<endl;
//看end是否在接受字符串中
for(i=0;i<m;i++)
{
if(end==accept[i])
{
printf("ACCEPT\n");
//cout<<"ACCEPT"<<endl;
return 1;
}
}
// cout<<"REJECT"<<endl;
printf("REJECT\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -