#include #include struct BG { bool flag; int num[200]; int len; }; bool str2int(char *str,BG &a) { int i=0; // while(str[i]==' ') i++; // str=str+i; if(str[0]=='-') { str=str+1; a.flag=0; } else a.flag=1; a.len=strlen(str); if(a.len==0) return 0; if(a.len>1 && str[0]=='0') return 0; if(!a.flag && a.len==1 && str[0]=='0') return 0; for(i=0;i'9' || str[i] < '0') return 0; a.num[i]=str[i]-'0'; } return 1; } int cmp(BG a,BG b) { if(a.flagb.flag) return 1; if(a.flag) { int i; if(a.len>b.len) return 1; if(a.lenb.num[i]) return 1; if(a.num[i]b.len) return -1; if(a.lenb.num[i]) return -1; if(a.num[i]=0 && cmp(s,bb)<=0) puts("YES"); else puts("NO"); getchar(); } return 0; }