测试点#1本地文件输入输出没问题求助
查看原帖
测试点#1本地文件输入输出没问题求助
482856
TigerNick楼主2024/7/15 18:36

测试点#1本地文件输入输出得到的结果正确,但是洛谷上WA,这是为什么

#include <bits/stdc++.h>
#define int long long
#define MAXN 1010
using namespace std;
map<string,int> mp;
int n,cnt;
char ch;
string name[MAXN],tmp="";
void change(char &ch)
{
	if(ch>='A'&&ch<='Z') ch+='a'-'A';
}
signed main()
{
	//freopen("P3752_1.in","r",stdin);
	cin>>n;getchar();
	for(int i=1;i<=n;i++)
	{
		char ch=getchar();
		while(ch!=' ')
		{
			tmp+=ch;
			ch=getchar();
		}
		name[i]=tmp;
		ch=getchar();tmp="";
		change(ch);
		while(ch!='\n')
		{
			if(ch==' ') mp[tmp]=i,tmp="";
			else tmp+=ch;
			ch=getchar();
			change(ch);
		}
		mp[tmp]=i;
		tmp="";
	}
	//for(int i=1;i<=n;i++) cout<<name[i]<<" ";
	getchar();
	ch=getchar(); //cout<<ch<<"!!!!!";
	change(ch);
	int ans=0;
	while(ch!=EOF)
	{
		if(ch=='\n')
		{
			if(mp[tmp]) ans=mp[tmp];
			cout<<name[ans]<<endl;
			tmp="";
			ans=0;
		}
		else
		{
			if(ch==' '||ch=='.'||ch==','||ch=='!'||ch=='?'||ch==';'||ch=='('||ch==')'||ch=='\\')
			{
				if(mp[tmp]) ans=mp[tmp];
				//cout<<"!!!!!"<<tmp;
				tmp="";
			}
			else tmp+=ch;
		}
		ch=getchar();change(ch);
	}
	return 0;
}
/*
"." "," "?" "!" ";""("")"
*/
/*
4
Qzrian yy ghy qzr
Yugoslavian mihailova petrozavodsk saint-petersburg
Suissvia yugoslavia korse mais kohnin
Mohaian Jzm Wallace Zhangbaohua djh 

yy,qzr and ghy are i don't know
mihailova saZk amOmlio
mais c'est pas Ca
wallace is good
*/
2024/7/15 18:36
加载中...