写一个错误的题解吧;大家能看出来哪里错了吗,

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    string tb = "345678910JQKA2jokerJOKER";
    string s;
    while(getline(cin, s))
    {
        int idx =s.find('-');
        string s1=s.substr(0,idx);
        string s2=s.substr(idx+1,s.size());

        if (s1.size()==s2.size())//若两手牌数量相同,找第一个牌相比较,输出大的
        {string s11=s1.substr(0,1);
         string s22=s2.substr(0,1);
         tb.find(s11)>tb.find(s22)?printf("%s",s1.c_str()):printf("%s",s2.c_str());

        }
        else if (s1.size()!=s2.size())
           {if (s.find("joker JOKER")!=s.npos)//如果有大小王,就输出大小王。
                {cout<<"joker JOKER"<<endl;}  
            else if (s1.size()==7)//炸弹加空格,size==7
                cout<<s1;
            else if (s2.size()==7)
                cout<<s2;
            else cout<<"ERROR";   
           }    
    }
}

不能用size 来判断,还是得用空格来判断啊,A和10比较会ERROR;