不受欢迎的输出

时间:2014-02-11 06:16:03

标签: c++ string string-length

#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错误,建议一些优化输出的方法。

2 个答案:

答案 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])