判断两次输入的表达式是否一样,表达式包含空格(‘ ’),tabs("\t'),换行符(‘\n')。
如果一样,则输出Accepted;
否则,如果结果一样,则输出Presentation Error;
如果结果不一样,则输出Wrong Answer;
最重要的是输入,能够输入空格和换行的是getline。
#include <iostream>
#include<cstdio>
#include<string>
using namespace std;
string s1,s2,s3,s4;
int main()
{
int t;
cin>>t;
while(t--)
{
s1=s2=s3=s4="";
int time=0;
while(getline(cin,s1)&&s1!="END")
{
if(time)
s3+='\n';
s3+=s1;
time++;
}
time=0;
while(getline(cin,s2)&&s2!="END")
{
if(time)
s4+='\n';
s4+=s2;
time++;
}
if(s3==s4)
cout<<"Accepted"<<endl;
else
{
s1=s2="";
int length1=s3.length();
for(int i=0;i<length1;i++)
{
if(s3[i]!=' '&&s3[i]!='\t'&&s3[i]!='\n')
s1+=s3[i];
}
int length2=s4.length();
for(int i=0;i<length2;i++)
{
if(s4[i]!=' '&&s4[i]!='\t'&&s4[i]!='\n')
{
if(s4[i]!=' '&&s4[i]!='\t'&&s4[i]!='\n')
s2+=s4[i];
}
}
if(s1==s2)
cout<<"Presentation Error"<<endl;
else
cout<<"Wrong Answer"<<endl;
}
}
return 0;
}