帮忙看看错在那里

A题 
有没有大神帮忙看看错在那里   通过率92%。
#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    string ss;
    cin >> ss;
    int len = 0;
    for (int i = 0; i < n; i++)
    {
        len = len + (ss[i] - '0');
    }
    int copy = len;
    if (len == 0)
    {
        cout << n << endl;
        return 0;
    }
    else
    {
        for (int k = 1; k * k <= len; k++)
        {
            if (len % k == 0)
            {
                for (int z = 1; z <= 2; z++)
                {
                    int kp=0;
                    if(z==1)
                    {
                        kp=k;
                    } 
                    else if(z==2)
                    {
                       if(k==1break;
                       if(len/k!=k)
                       { 
                         kp=len/k;
                       }
                       else break;
                    }
                    int tt = 0;
                    int flag = 1;
                    for (int i = 0; i < n; i++)
                    {
                        tt = tt + (ss[i] - '0');
                        if (tt == kp)
                        {
                            tt = 0;
                        }
                        else if (tt > kp)
                        {
                            flag = 0;
                            break;
                        }
                    }
                    if (flag == 1)
                    {
                        cout << copy / kp << endl;
                        return 0;
                    }
                }
            }
        }
    }
    cout << -1 << endl;
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
10-29 21:31
大疆 硬件工程师 30.0k*15.0
快要三方开始纠结offer的到期男大:dji和影石我理解开奖了,华为你这个15级是怎么问出来的
点赞 评论 收藏
分享
点赞 评论 收藏
分享
什么时候发意向:怎么连北航佬的秋招也这么难
点赞 评论 收藏
分享
宝宝巴逝:给他一巴掌看他还发不发癫
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务