代码编织梦想

【题目描述】

一个给定的正整数序列,在每个数之前都插入+号或−号后计算它们的和。比如序列:1、2、4共有8种可能的序列:

(+1) + (+2) + (+4) = 7

(+1) + (+2) + (-4) = -1

(+1) + (-2) + (+4) = 3

(+1) + (-2) + (-4) = -5

(-1) + (+2) + (+4) = 5

(-1) + (+2) + (-4) = -3

(-1) + (-2) + (+4) = 1

(-1) + (-2) + (-4) = -7

所有结果中至少有一个可被整数k整除,我们则称此正整数序列可被k整除。例如上述序列可以被3、5整除,而不能被2、4、6、8……整除。注意:0、−3、−6、−9……都可以认为是3的倍数。

【输入】

输入的第一行包含两个数:N(2<N<10000)和k(2<k<100),其中N代表一共有N个数,k代表除数。二行给出序列中的N个整数,这些整数的取值范围都0到10000之间(可能重复)。

【输出】

如果此正整数序列可被k整除,则输出YES,否则输出NO。(注意:都是大写字母)

【输入样例】

3 2

1 2 4

【输出样例】

NO

题目分析

c3ce77f791d6d7ac1bffb2cd6bb40d9f.png

代码

#include<bits/stdc++.h>
using namespace std;

const int N=10010,K=110;

int n,k;
int a[N];
bool f[N][K];

int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    f[0][0]=true;
    for(int i=1;i<=n;i++){
        for(int j=0;j<k;j++){
            f[i][j]=f[i-1][(j+k-a[i]%k)%k]||f[i-1][(j+a[i])%k];
        }
    }
    if(f[n][0]==true) cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
    return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_56991243/article/details/128841642

3531:判断整除(2.6基本算法之动态规划)_qq_26919935的博客-爱代码爱编程

3531:判断整除 总时间限制: 1000ms 内存限制: 65536kB 描述 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (+1) + (+2) +

判断整除 - 递推(详解)-爱代码爱编程

1195:判断整除 【题目描述】 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (+1) + (+2) + (+4) = 7 (+1) + (+2) + (-4) = -1 (+1) + (-2) + (+4) = 3 (+1) + (-2) + (-4) = -5 (-1) +

信息学奥赛一本通C++语言——1195:判断整除-爱代码爱编程

【题目描述】 一个给定的正整数序列,在每个数之前都插入+号或−号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (+1) + (+2) + (+4) = 7 (+1) + (+2) + (-4) = -1 (+1) + (-2) + (+4) = 3 (+1) + (-2) + (-4) = -5 (-1) + (+2) + (+4) = 5

python判断整除_python 如何判断整除?-爱代码爱编程

慕容708150 题:如何判断一个数能否被3整除?(或者被其他任意一个数整除)方法一:取余x = input("input an number:")  if x % 3 == 0:       print "%d 能被3整除" %(x)    else:     print "%d 不能被3整除" %(x)12345方法二:还有一种就是将其各个数位上的数

matlab 判断整除函数_判断素数函数-爱代码爱编程

描述 写一个函数isPrime(n)用于判断一个数字n是不是素数,用户输入一个正整数,在一行内输出不大于该数的所有素数,各数后面用一个空格分隔。 输入格式 输入一个正整数 输出格式 不大于该数的所有素数,各数后面用一个空格分隔。 输入输出示例 输入输出示例 11002 3 5 7 11 13 17 19 23 29

sql判断整除_判断整除 - Ed_Sheeran - 博客园-爱代码爱编程

判断整除 链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1195 时间限制: 1000 ms         内存限制: 65536 KB 【题目描述】 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种可能的序列: (+1) + (+2) +

sql判断整除_判断整除-爱代码爱编程

【题目】 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。所有结果中至少有一个可被整数k整除,我们则称此正整数序列可被k整除。 现判断一个正整数序列是否能被k整除。输入的第一行包含两个数:N(2 < N < 10000)和k(2 < k< 100),其中N代表一共有N个数,k代表被除数。 第二行给出序列中

sql判断整除_快速判断能否被某个数整除-爱代码爱编程

(1)被2整除的数的特征:一个整数的末位是偶数(0、2、4、6、8)的数能被2整除。 (2)被3整除的数的特征:一个整数的数字和能被3整除,则这个数能被3整除。 (3)被4整除的数的特征:一个整数的末尾两位数能被4整除则这个数能被4整除。可以这样快速判断:最后两位数,要是十位是单数,个位就是2或6,要是十位是双数,个位就是0、4、8。 (4)被5

php如何判断整除,php如何实现判断整除_后端开发-爱代码爱编程

php查询时间段功能如何实现_后端开发 php查询时间段功能实现:首先如果数据库显示时间是当前时间,就不需要用strtotime时间戳转换函数,利用时间戳函数;然后直接声明$timea、$timeb变量获取当前时间字符串;最后声明$sq2选择add_time所在的时间段。php判断整除的实现方法:首先创建一个PHP代码示例文件;然后通过“%”运算符判

1047:判断能否被3,5,7整除-爱代码爱编程

1047:判断能否被3,5,7整除 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 给定一个整数,判断它能否被3,5,7整除,并输出以下信息: 1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格); 2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用

信息学奥赛一本通:1195:判断整除_weixin_43919406的博客-爱代码爱编程

【题目描述】 一个给定的正整数序列,在每个数之前都插入++号或−−号后计算它们的和。比如序列:1、2、41、2、4共有88种可能的序列: (+1) + (+2) + (+4) = 7 (+1) + (+2) + (-4) = -1 (+1) + (-2) + (+4) = 3 (+1) + (-2) + (-4) = -5 (-1) + (+2) +

day52最长递增子序列-爱代码爱编程

力扣300.最长递增子序列 题目链接:https://leetcode.cn/problems/longest-increasing-subsequence/ 思路 dp数组的含义 dp[i]表示,以nums[i]结

go语言进阶和依赖管理(二)——并发和依赖管理-爱代码爱编程

文章目录 一、本文重点内容:二、详细知识点介绍:1、并发和并行并发:并行:结论: 2、Go的协程协程:线程: 3、协程通信方式一:使用通道交换数据方式二:使用共享内存完成数据交换 4、协程通道

信息奥赛一本通1195:判断整除-爱代码爱编程

95:判断整除 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 3010 通过数: 1178 【题目描述】 一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种

leetcode 1071. greatest common divisor of strings(字符串的最大公约数)-爱代码爱编程

For two strings s and t, we say “t divides s” if and only if s = t + … + t (i.e., t is concatenated with itself