2014-02-11 51 views
-4
#include <iostream> 
#include <cstring> 
using namespace std; 

int main() { 
    std::string a, b; 
    int number_cases=0,i,j,count=0; 
    cin>>number_cases; 
    while(number_cases!=0) 
     { 
      cin>>a; 
      cin>>b; 
      for(i=0;i<a.size();i++) { 
       for(j=0;j<b.size();j++) { 
        if(a[i]==b[j]); { 
         count++; 
         b[j]='#'; 
         break; 
        } 
       } 
      } 
      cout<<count<<endl; 
      count=0; 
      --number_cases; 
     } 
} 

http://www.codechef.com/FEB14/problems/LCPESY 我对submiting越来越TLE的错误,提出了一些方法来优化输出。不希望输出

+1

请不要从代码中删除的错误,如果他们在下面的答案进行讨论。这让其他人更难从错误中学习。 –

+0

TLE错误?任何人 –

+0

这个问题似乎是无关紧要的,因为它缺乏最基本的理解。 – lpapp

回答

2

唯一的错误就是

if(a[i]==b[j]); 

删除 “;”从if语句

if(a[i]==b[j]) 

它会正常工作

+0

我注意到了, 修复了TLE问题 –

0
#include <iostream> 
#include <cstring> 
using namespace std; 

int main() { 
    std::string a, b; 

既然你写的使用空间std了 “的std ::” 不nessecary。

但是,你的程序不起作用的原因是因为你有一个“;”在你的if语句中。

if(a[i]==b[j]); 

应该

if(a[i]==b[j])