poj1745

来源:互联网 发布:云宫迅音 知乎 编辑:程序博客网 时间:2024/06/05 02:15
//巧妙地dp佩服……#includeusing namespace std;bool dp[10001][101];//每次存放余数 余数的情况一共有101种int a[10001];//dp方程//dp【i-1】【j】到dp[i][]是如何变化的,这个题目好好的利用了100这个数,去看起余数,这样的就刚好是记录路径的dp了//把中见过程都保存下来了。余数为j的时候有两种情况,可以加上活减去当前的数,然后如果为附属直接转化为正数//原来也做了不少这样的题目。老是不太懂,以后还是要继续多做练习。////最后只要看dp[n][0]处是否存在这种情况,若存在,表示余数为0的情况出现即除尽int main() {int i, j, n, k, t, r, temp;while (scanf("%d%d", &n, &k) != EOF) {for (i = 1; i <= n; i++) {scanf("%d", &a[i]);while (a[i] < 0)//如果是负数变成正数a[i] += k;a[i] = a[i] % k;}memset(dp, 0, sizeof(dp));dp[1][a[1]] = 1;//表示对于输入的第一个数对于k来说余数r这种情况存在如果是0处,那么代表正好相除for (i = 2; i <= n; i++) {for (j = 0; j <= k; j++) {if (dp[i - 1][j])//转移方程{dp[i][(j + a[i]) % k] = 1;temp = j - a[i];while (temp < 0)temp += k;dp[i][temp] = 1;}}}if (dp[n][0])printf("Divisible/n");elseprintf("Not divisible/n");}return 0;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 两个月大的宝宝感冒了怎么办 四个月宝宝拉水样大便要怎么办 六个月的宝宝咳嗽有痰怎么办 未满月的宝宝大便脓状怎么办 五个月的宝宝总是吃手怎么办 小孩子学数字怎么也学不会怎么办 小孩学数字老是学不会该怎么办 只买了大人票忘买儿童的了怎么办 铝合金滑动门没轨道安纱门怎么办 移门衣柜门与柜体有冶缝隙怎么办 推拉门关门时撞门框声音大怎么办 两岁宝宝夏天不盖被子怎么办 家里有好多会爬的小黑虫怎么办 刚贴的壁纸怎么发霉了怎么办 晚上睡觉一熄灯有许多小虫子怎么办 一岁宝宝夏天爱哭不爱吃饭怎么办 合肥房子卖了户口没地方迁怎么办 忌作灶的日子新房装橱柜了怎么办 刮水泥浆的墙面刮不住腻子怎么办 小学二年级孩子偷钱 老师怎么办 发现自己读初中的儿子偷钱怎么办? 做错事了得不到亲人的原谅怎么办? 窗口 窗套与墙缝隙大怎么办 中班小孩还不会认1到10怎么办 母猫奶头被小猫咬伤了怎么办 口红不小心弄到衣服上怎么办 脖子后背疼的睡不着觉应该怎么办 君子兰用高锰酸钾泡浓度高了怎么办 五个月宝宝认人不要奶奶睡怎么办 幼儿小班安全卡鱼刺了怎么办教案 学籍在一年级学生在二年级怎么办 一岁多宝宝挑食不爱吃饭菜怎么办饭 换了新手机微信好友显示不全怎么办 朋友人在外地 联系不上怎么办 幼儿连字母都记不住该怎么办 车一边轮子掉农村路边小水沟怎么办 20个月小孩脾气急燥怎么办 给小孩上户口母亲是外国人怎么办 宝宝在学校不敢跟老师说话怎么办? 早教课上宝宝总爱乱跑怎么办? 20天大的宝宝4天不拉大便怎么办