题意:能否在一个整数序列的每相邻的两项之间添加一个加减号,使得最终结果能被一个给定整数K<=100整除。

dp[i][j]表示第i个数取余k为j的布尔值。

 #include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 20000
using namespace std; int t;
int n,k;
int a[maxn];
bool flag;
bool dp[maxn][]; int main()
{
scanf("%d",&t);
while(t--)
{
memset(dp,false,sizeof(dp));
scanf("%d%d",&n,&k);
for(int i=; i<n; i++)
{
scanf("%d",&a[i]);
}
dp[][abs(a[])%k]=true;
for(int i=; i<n; i++)
{
for(int j=; j<k; j++)
{
if(dp[i-][j])
{
dp[i][(j+k+abs(a[i]))%k]=true;
dp[i][((j+k-abs(a[i]))%k+k)%k]=true;
}
}
}
if(dp[n-][]) printf("Divisible\n");
else printf("Not divisible\n");
}
return ;
}

uva 10036 Problem C: Divisibility的更多相关文章

  1. (DP)uva 10036 Problem C: Divisibility

    链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88171#problem/F 代码: #include <cstdio> ...

  2. Uva 10036 - Divisibility

    Consider an arbitrary sequence of integers. One can place + or - operators between integers in the s ...

  3. uva 10034 Problem A: Freckles

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  4. uva 10032 Problem F: Tug of War

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  5. uva 10026 Problem C: Edit Step Ladders

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  6. uva 10036

    10036 - Divisibility 额..直接复制不过来,只好叙述一下了...t组样例,n个数(1-10000),k(2-100)是要取余的数,然后给出n个数第一个数前不能加正负号,其他的数前面 ...

  7. uva 11400 Problem F Lighting System Design

    紫皮书题: 题意:让你设计照明系统,给你n种灯泡,每种灯泡有所需电压,电源,每个灯泡的费用,以及每个灯泡所需的数量.每种灯泡所需的电源都是不同的,其中电压大的灯泡可以替换电压小的灯泡,要求求出最小费用 ...

  8. 【DFS】XIII Open Championship of Y.Kupala Grodno SU Grodno, Saturday, April 29, 2017 Problem D. Divisibility Game

    题意:给你一个序列,长度不超过52,每个元素不超过13.让你重新对这个序列排序,sum(i)表示i的前缀和,使得排序过后,对每个i,都有sum(i)%i==0. 深搜,加两个优化:①倒着从后向前搜:② ...

  9. UVa 1531 - Problem Bee

    题目:如图所看到的的蜂巢型的图中.蜜蜂想从A点飞到B点,假设A与B不在同一个正六边形中, 则它先飞到A的中心.每次飞到相邻格子的中心,最后飞到B的中心,再飞到B点: 假设在一个格子中.直接飞过去就可以 ...

随机推荐

  1. Java 8 Lambda 揭秘

    再了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么?. 这是一个有趣的问题,涉及到JDK的具体的实现. 本文将介绍OpenJDK对L ...

  2. Java程序员容易犯的10个错误

    1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个Ar ...

  3. [Javascript ] Array methods in depth - sort

    Sort can automatically arrange items in an array. In this lesson we look at the basics including how ...

  4. Java集合类具体解释

    假设您喜欢这些文章,欢迎点击此处订阅本Blog 集合类说明及差别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Ma ...

  5. C语言原码反码补码与位运算.

      目录:     一.机器数和真值     二.原码,反码和补码的基础概念     三.为什么要使用原码,反码和补码     四.原码,补码,反码再深入     五.数据溢出测试     六.位运算 ...

  6. 使用nice命令调整进程优先级

    Adjusting Process Priority with nice   When Linux processes are started, they are started with a spe ...

  7. 画年利率 画图 自定义 View

    使用 SlbSyView slbView; slbView = (SlbSyView) findViewById(R.id.slbView); slbView.setHeights(new float ...

  8. java SSH整合配置

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3 ...

  9. 引号 shell

    在学些shell的 grep, awk, sed 中,发现<Linux 与Unix Shell 编程 指南>书中用大多都是单引号. 一开始我总在寻思,为什么用单引号,明明双引号也是行的呀. ...

  10. Microsoft Office 2007 Professional Plus+ 正版密钥

    Microsoft Office 2007 Professional Plus+  正版密钥         说微软原版,自有Microsoft官方MSDN网站有关下载的校验值为证(附后).密钥安装后 ...