POJ Divisibility 1745【动态规划】
来源:互联网 发布:美国ge膜和陶氏膜 知乎 编辑:程序博客网 时间:2024/06/08 16:13
Language:
Divisibility
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 11045 Accepted: 3950
Description
Consider an arbitrary sequence of integers. One can place + or - operators between integers in the sequence, thus deriving different arithmetical expressions that evaluate to different values. Let us, for example, take the sequence: 17, 5, -21, 15. There are eight possible expressions: 17 + 5 + -21 + 15 = 16
17 + 5 + -21 - 15 = -14
17 + 5 - -21 + 15 = 58
17 + 5 - -21 - 15 = 28
17 - 5 + -21 + 15 = 6
17 - 5 + -21 - 15 = -24
17 - 5 - -21 + 15 = 48
17 - 5 - -21 - 15 = 18
We call the sequence of integers divisible by K if + or - operators can be placed between integers in the sequence in such way that resulting value is divisible by K. In the above example, the sequence is divisible by 7 (17+5+-21-15=-14) but is not divisible by 5.
You are to write a program that will determine divisibility of sequence of integers.
17 + 5 + -21 - 15 = -14
17 + 5 - -21 + 15 = 58
17 + 5 - -21 - 15 = 28
17 - 5 + -21 + 15 = 6
17 - 5 + -21 - 15 = -24
17 - 5 - -21 + 15 = 48
17 - 5 - -21 - 15 = 18
We call the sequence of integers divisible by K if + or - operators can be placed between integers in the sequence in such way that resulting value is divisible by K. In the above example, the sequence is divisible by 7 (17+5+-21-15=-14) but is not divisible by 5.
You are to write a program that will determine divisibility of sequence of integers.
Input
The first line of the input file contains two integers, N and K (1 <= N <= 10000, 2 <= K <= 100) separated by a space.
The second line contains a sequence of N integers separated by spaces. Each integer is not greater than 10000 by it's absolute value.
The second line contains a sequence of N integers separated by spaces. Each integer is not greater than 10000 by it's absolute value.
Output
Write to the output file the word "Divisible" if given sequence of integers is divisible by K or "Not divisible" if it's not.
Sample Input
4 717 5 -21 15
Sample Output
Divisible
Source
Northeastern Europe 1999
题意:给你n个数,经过加减的操作,看能不能整除K。
解题思路:
简单dp:dp[ i ][ j ] 代表前 i 个数字整除 m 的余数为 j。
AC代码:
#include <stdio.h>#include <math.h>#include <vector>#include <queue>#include <string>#include <string.h>#include <stdlib.h>#include <iostream>#include <algorithm>using namespace std;int dp[10010][100];int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF){ int a[10010]; memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) scanf("%d",&a[i]); dp[0][0]=1; for(int i=1;i<=n;i++){ for(int j=0;j<m;j++){ if(dp[i-1][j]){ dp[i][((j-a[i])%m+m)%m]=1; dp[i][((j+a[i])%m+m)%m]=1; } } } if(dp[n][0]) printf("Divisible\n"); else printf("Not divisible\n"); } return 0;}
0 0
- POJ 1745 Divisibility 动态规划
- POJ Divisibility 1745【动态规划】
- POJ:1745 Divisibility(思维+动态规划DP)
- ZJU2042 Divisibility - 动态规划
- poj 1745 Divisibility
- POJ 1745 Divisibility
- POJ 1745 Divisibility
- POJ 1745 Divisibility
- POJ 1745 Divisibility
- poj 1745 Divisibility
- poj 1745 Divisibility
- poj 1745 Divisibility dp
- POJ 1745 Divisibility DP
- poj 1745 Divisibility
- poj 1745-Divisibility
- POJ 1745 Divisibility
- poj 1745 Divisibility (dp)
- poj 1745 Divisibility dp
- Building A Fence, usaco 2008 Oct
- shell基础1
- cocos2dx3.3 VS2013无法打开包含文件extensions/ExtensionExport.h的问题
- 求助!!想要实现不同电脑上的两个软件通信
- 141. Linked List Cycle
- POJ Divisibility 1745【动态规划】
- C语言:内存地址分析 & sizeof和strlen用法总结
- android 各种对话框 AlertDialog
- 华为OJ(参数解析)
- 以太网和因特网之间的关系与区别(转载)
- 离理想更进一步
- HDU - 4090(暴力剪纸题目,)
- Java 中设计模式 (单例模式) 介绍
- 经典dp poj2626 chess解题报告