⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 计算理论是很抽象的
💻 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 + -