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==1) break;
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;
}
全部评论
(0) 回帖