心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0

ACM的题目意思表达得真是隐晦~注意数字字符即使不在同一行也有可能顺序完全一致。
以下是我的代码:

#include<iostream>
#include
<string>
#define maxn 107
using namespace std;

long X,n,m;
string a[maxn],b[maxn],da,db;

bool Accepted()
{
    
if(n!=m) return false;
    
for(long i=1;i<=n;i++)
      
if(a[i]!=b[i])
        
return false;
    
return true;
}

bool Presentation()
{
    da.clear();
    db.clear();
    
for(long i=1;i<=n;i++)
      
for(long j=0;j<(long)a[i].length();j++)
        
if(a[i][j]>='0'&&a[i][j]<='9')
          da
+=a[i][j];
    
for(long i=1;i<=m;i++)
      
for(long j=0;j<(long)b[i].length();j++)
        
if(b[i][j]>='0'&&b[i][j]<='9')
          db
+=b[i][j];
    
if(da!=db)
      
return false;
    
return true;
}

long judge()
{
    
if(Accepted()) return 1;
    
    
if(Presentation()) return 2;
    
    
return 3;
}

int main()
{
    X
=0;
    
while(cin>>n&&getchar())
    {
       
if(n==0break;
       X
++;
       
       
for(long i=1;i<=n;i++)
         getline(cin,a[i]);
       cin
>>m;getchar();
       
for(long i=1;i<=m;i++)
         getline(cin,b[i]);
       
//  Input
       
       cout
<<"Run #"<<X<<"";
       
long result=judge();
       
if(result==1)
         cout
<<"Accepted"<<endl;
       
else if(result==2)
         cout
<<"Presentation Error"<<endl;
       
else cout<<"Wrong Answer"<<endl;
    }
return 0;
}
posted on 2010-11-14 22:07 lee1r 阅读(646) 评论(0)  编辑 收藏 引用 所属分类: 题目分类:字符串处理

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理