#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 我在提交时遇到TLE错误,建议一些优化输出的方法。
答案 0 :(得分:2)
唯一的错误是
if(a[i]==b[j]);
删除“;”来自if声明
if(a[i]==b[j])
它会正常工作
答案 1 :(得分:0)
#include <iostream>
#include <cstring>
using namespace std;
int main() {
std::string a, b;
由于您使用namespace std编写,因此“std ::”不是nessecary。
但你的程序不起作用的原因是因为你有一个“;”在你的if语句中。
if(a[i]==b[j]);
应该是
if(a[i]==b[j])