div2 A题求调
  • 板块灌水区
  • 楼主code_hyx
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/1/24 18:26
  • 上次更新2023/10/24 03:11:04
查看原帖
div2 A题求调
530797
code_hyx楼主2023/1/24 18:26

与题解比对,没发现问题。
只对了subtask2
代码:

#include<bits/stdc++.h>
using namespace std;
int t,n,m;
string nam[15],fre[10005][4];
bool is_sub(string s)
{
	string s1="freopen";
	int x=s1.find(s),len;
	if(x==-1)return false;
	else return true;
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
    cin>>t>>n>>m;
    for(int i=1;i<=m;i++)
    {
    	cin>>nam[i];
	}
    while(n--)
    {
    	bool flag=true;
    	for(int i=1;i<=m;i++)
	    {
	    	cin>>fre[i][1]>>fre[i][2];
		}
		for(int i=1;i<=m;i++)
	    {
	    	int x,len;
	    	string s1,s2;
	    	x=fre[i][1].find(nam[i]),len=fre[i][1].length();
	    	if(x==-1)
	    	{
	    		//cout<<"WA0"<<"\n";
	    		string sub=fre[i][1].substr(0,10),subb=fre[i][1].substr(0,2);
	    		//cout<<sub<<" "<<fre[i][1][fre[i][1].length()-2]<<" "<<fre[i][1][fre[i][1].length()-1]<<"\n";
	    		if((sub=="//freopen("||(is_sub(nam[i])&&subb=="//"&&fre[i][1][2]!='/'&&fre[i][1].find("(")>1))&&fre[i][1][fre[i][1].length()-2]==')'&&fre[i][1][fre[i][1].length()-1]==';')
	    		{
	    			cout<<"Wrong file operation takes you to your ancestors along with your 3 years' efforts on OI.\n";
	    			flag=false;
	    			break;
				}
	    		else cout<<"Good luck and have fun.\n";
	    		flag=false;
	    		break;
			}
	    	else 
	    	{
	    		string s1,s2;
	    		s1=fre[i][1].substr(0,x),s2=fre[i][1].substr(x+nam[i].length(),len-x-1);
	    		fre[i][1]=s1+s2;
	    		string sub=fre[i][1].substr(0,10),subb=fre[i][1].substr(0,2);
	    		//cout<<"debug "<<fre[i][1][fre[i][1].length()-2]<<" "<<fre[i][1][fre[i][1].length()-1]<<"\n";
	    		if((sub=="//freopen("||(is_sub(nam[i])&&subb=="//"&&fre[i][1][2]!='/'&&fre[i][1].find("(")>1))&&fre[i][1][fre[i][1].length()-2]==')'&&fre[i][1][fre[i][1].length()-1]==';')
	    		{
	    			cout<<"Wrong file operation takes you to your ancestors along with your 3 years' efforts on OI.\n";
	    			flag=false;
	    			break;
				}
				else
				{
					//cout<<"debug:"<<fre[i][1]<<"\n";
					if(fre[i][1]!="freopen(\".in\",\"r\",stdin);")
					{
						cout<<"Good luck and have fun.\n";
						flag=false;
	    				break;
					}
				}
			}
			x=fre[i][2].find(nam[i]),len=fre[i][2].length();
			if(x==-1)
	    	{
	    		//cout<<"WA0"<<"\n";
	    		string sub=fre[i][2].substr(0,10),subb=fre[i][1].substr(0,2);
	    		if((sub=="//freopen("||(is_sub(nam[i])&&subb=="//"&&fre[i][2][2]!='/'&&fre[i][2].find("(")>1))&&fre[i][2][fre[i][2].length()-2]&&fre[i][2][fre[i][2].length()-1]==';')
	    		{
	    			cout<<"Wrong file operation takes you to your ancestors along with your 3 years' efforts on OI.\n";
	    			flag=false;
	    			break;
				}
	    		else cout<<"Good luck and have fun.\n";
	    		flag=false;
	    		break;
			}
			else
			{
				s1=fre[i][2].substr(0,x),s2=fre[i][2].substr(x+nam[i].length(),len-x-1);
	    		fre[i][2]=s1+s2;
	    		string sub=fre[i][2].substr(0,10),subb=fre[i][1].substr(0,2);
	    		//cout<<"debug "<<fre[i][2][fre[i][2].length()-2]<<" "<<fre[i][2][fre[i][2].length()-1]<<"\n";
	    		if((sub=="//freopen("||(is_sub(nam[i])&&subb=="//"&&fre[i][2][2]!='/'&&subb=="//"&&fre[i][2].find("(")>1))&&fre[i][2][fre[i][2].length()-2]==')'&&fre[i][2][fre[i][2].length()-1]==';')
	    		{
	    			cout<<"Wrong file operation takes you to your ancestors along with your 3 years' efforts on OI.\n";
	    			flag=false;
	    			break;
				}
				else
				{
					//cout<<"debug:"<<fre[i][2]<<"\n";
					if(fre[i][2]!="freopen(\".out\",\"w\",stdout);")
					{
						cout<<"Good luck and have fun.\n";
						flag=false;
	    				break;
					}
				}
			}
		}
		if(flag==true)cout<<"PION2202 RP++.\n";
	}
    return 0;
}
/*
1 1 1
dickless
freopen("dickless.in","r",stdin);
freopen("dickless.out","w",stdout);
*/
2023/1/24 18:26
加载中...