CF1030C

题意:

给你一个数字,问能否拆分成k段,使得每一段的每一位数字相加结果相等。

解法:

考虑数位DP。

暴力按位考虑每一位是否满足条件

CODE:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream> using namespace std; int n,sum;
char s[105];
int num[105]; int main() {
scanf("%d",&n);
scanf("%s",s+1);
for(int i = 1 ; i <= n ; i++) {
sum += (int)s[i] - '0';
num[i] = (int)s[i] - '0';
}
if(sum == 0) {
puts("YES");
return 0;
}
for(int i = 1 ; i <= sum ; i++) {
int now = 0 , zz = 1 , ds = 1;
while(now < i && zz <= n) {
now += num[zz];
if(now > i) break;
if(zz == n) {
if(ds >= 3 && now == 0) {
puts("YES");
return 0;
}
}
if(now == i) {
if(ds != 1 && zz == n) {
puts("YES");
return 0;
}
ds++;
now = 0;
}
zz++;
}
}
printf("NO\n");
return 0;
}

CF1030C的更多相关文章

随机推荐

  1. C#强制回收垃圾

    [DllImport("psapi.dll")] private static extern int EmptyWorkingSet(int hProcess); public v ...

  2. Pyhon中迭代器与生成器

    迭代器 我们知道,可以直接用for循环的数据类型有以下几种: 一类是集合数据类型:list.tuple.dict.set.str等 一类是generator:包括生成器和带yield的generato ...

  3. [书籍翻译] 《JavaScript并发编程》第七章 抽取并发逻辑

    本文是我翻译<JavaScript Concurrency>书籍的第七章 抽取并发逻辑,该书主要以Promises.Generator.Web workers等技术来讲解JavaScrip ...

  4. C++ 容器一图以蔽之

    读完C++ primary 容器相关章节,有必要总结一下容器的要点,一图说明. 其中的问题,以下是我的一些想法,欢迎交流. 问题1. STL源码剖析 · vector 问题2. STL源码剖析 · R ...

  5. 如何让某些用户对Marketing Cloud的contact数据只能实施只读操作

    打开maintain business role这个应用: 创建一个新的business role,然后添加下列这几个catalogs: SAP_CEC_BC_MKT_ADM_PC Marketing ...

  6. vue嵌套数据多层级里面的数据不自动更新渲染dom

    可以尝试手动调用更新 主要代码: vm.$forceUpdate() 官网

  7. orecle 查询数量 union合并 的排序问题

    orecle  查询数量 union合并 之后按照从小到大排序了,这边需要不排序的 直接将union  改成union all 就解决了. 图就不传了,验证没问题

  8. GVIM、VIM

    全世界最好的编辑器VIM之Windows配置篇 Highlight all search pattern matches Top 10 things Vi user need to know abou ...

  9. Oracle查询表空间使用情况的一个sql

    select  t1.tablespace_name,curr_b/1024/1024/1024,max_b/1024/1024/1024,curr_b/max_b from(select table ...

  10. 获取当前日期或者某个日期相隔N天内的全部日期以及星期几

    业务需要需要获取当前日期相隔30天内的全部日期以及星期几,没插件因此特地写了一个: /* 说明:获取当前日期或者某个日期相隔N天内的全部日期以及星期几 使用: let test = new getdi ...