我有以下C ++代码 -
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
int t;
cin>>t;
string text;
string text2;
int len1, len2,len3;
while(t--) {
getline(cin,text); //first string input
set<char> s(text.begin(),text.end());
len1=s.size();
getline(cin,text2); //second string input
set<char> s2(text2.begin(),text2.end());
len2=s2.size();
len3=len1+len2;
s.insert(s2.begin(),s2.end());
len1=s.size();
if(len1<len3){
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
当我运行此程序时,似乎第一个字符串输入未正确执行。第二个输入工作正常。该程序仅输入t和text2,但不输入text1。实际上有什么问题?
注意:当我删除循环时,程序正在按预期工作。