比赛 |
20220531高一小测验 |
评测结果 |
WWWWWWWWWW |
题目名称 |
添加号 |
最终得分 |
0 |
用户昵称 |
dew52 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2022-06-01 21:47:34 |
显示代码纯文本
- #include<bits/stdc++.h>
- using namespace std;
- string s;
- int a[210]={0};
- int m;
- int num;
- long long dp(int q,int nnt,int num)
- {
- long long cnt=0;
- long long cntt=1;
- for(int i=q+nnt-1;i>=q;--i)
- {
- cnt=a[i]*cntt+cnt;
- cntt=cntt*10;
- }
- for(int i=1;i<=m;++i)
- {
- long long cheng=1;
- for(int j=q+nnt+num*i-1;j>q+nnt+num*(i-1)-1;--j)
- {
- cnt=a[j]*cheng+cnt;
- cheng=cheng*10;
- }
- }
- for(int i=1;i<=m;++i)
- {
- if(q>1)
- {
- long long cheng=1;
- for(int j=q-(i-1)*num-1;j>=q-num*i;--j)
- {
- cnt=a[j]*cheng+cnt;
- cheng=cheng*10;
- }
- }
- }
- return cnt;
- }
- int main(void)
- {
- freopen("exam4.in","r",stdin);
- freopen("exam4.out","w",stdout);
- cin>>s>>m;
- for(int i=1;i<=s.length();++i)
- {
- a[i]=s[i-1]-'0';
- }
- num=s.length()/m;
- int nnt=s.length()-num*m;
- long long answer=dp(1,nnt,num);
- for(int i=1;i<=s.length()-nnt;i=i+num)
- {
-
- answer=min(answer,dp(i,nnt,num));
-
- }
- answer=min(answer,dp(s.length()-nnt+1,nnt,num));
- cout<<answer;
- return 0;
- }