A. Rating Increase

发布时间 2023-12-19 11:33:20作者: 纯粹的

原题链接

快速读题

将所给字符串分为两个部分,前半部分为a,后半部分为b。求问是否存在某种分法使得a<b

思路:贪心

分割方法:字符串的第一个数一定非零作为a的开头,找到第二个非零数作为b的开头
判断方法:因为\(ab\)长度不超过8,而int型最大约\(2\cdot10^{10}\),所以可以直接判断

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    while(n--)
    {


    string s;
    cin>>s;
    int a=s[0]-48;
    int i;
    for(i=1;s[i];i++)
    {
        if(s[i]!='0')break;
        a=a*10+s[i]-48;
    }
    int b=0;
    for(i;s[i];i++)
    {
        b=b*10+s[i]-48;
    }
    if(a<b)printf("%d %d\n",a,b);
    else puts("-1");
    }
    return 0;
}