【POJ1745】Divisibility
来源:互联网 发布:小额贷款什么软件好 编辑:程序博客网 时间:2024/06/12 20:37
Divisibility
Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 11568 Accepted: 4155
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
好题,用到了同余定理,又融入了动态规划思想
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;bool dp[10005][105];int a[10005];int main() {int n,k;while(scanf("%d%d",&n,&k)!=EOF) {memset(dp,0,sizeof(dp));for(int i=0; i<n; i++) scanf("%d",&a[i]);dp[0][((a[0]%k)+k)%k]=true;for(int i=1; i<n; i++) {for(int j=0; j<k; j++) {if(dp[i-1][j]) {dp[i][((j+a[i])%k+k)%k]=true;dp[i][((j-a[i])%k+k)%k]=true;}}}printf(dp[n-1][0]?"Divisible\n":"Not divisible\n");}return 0;}题目链接
0 0
- poj1745 Divisibility
- poj1745 Divisibility
- poj1745 - Divisibility
- poj1745 Divisibility
- poj1745 Divisibility
- 【poj1745】Divisibility
- Poj1745 Divisibility
- <poj1745>Divisibility
- **【poj1745】Divisibility
- 【POJ1745】Divisibility
- 【poj1745】 Divisibility
- POJ1745 Divisibility (DP)
- DP poj1745 Divisibility
- POJ1745——Divisibility
- POJ1745 Divisibility(dp)
- poj1745-Divisibility(01背包)
- poj1745 Divisibility(动态规划经典题)
- poj1745
- 归并排序
- 经典面试题之求连续子数组最大和
- poj 1321 棋盘问题
- hdu 1667 /poj 2286 The Rotation Game(经典迭代加深)
- 关于顺序表和链表的那些小事儿
- 【POJ1745】Divisibility
- OJ------求最大连续bit位
- HDU 5810 Balls and Boxes (找公式)
- 进程间传递描述符
- A. Mishka and Game
- poj1679The Unique MST(最小生成树)
- ubuntu下nodejs安装与版本升级
- light oj 1056
- 日期的加减类