tyvj1194 划分大理石
描述
输入格式
所以可能有多行
如果有0 0 0 0 0 0表示输入文件结束
其余的行为6个整数
输出格式
如果划分成功,输出Can,否则Can't
测试样例1
输入
4 7 4 5 9 1
9 8 1 7 2 4
6 6 8 5 9 2
1 6 6 1 0 7
5 9 3 8 8 4
0 0 0 0 0 0
输出
Can't
Can
Can't
Can't
Can
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
const int maxn = ;
int n,sum,a[],w[maxn];
bool f[maxn];
int main(){
bool ok = true,ans = false;
while(ok){
ok = false;
n = sum = ;
for(int i = ;i <= ;i++){
scanf("%d",&a[i]);
if(a[i]) ok = true;
sum += a[i]*i;
for(int j = ;j <= a[i];j<<=){
w[++n] = j * i;
a[i] -= j;
}
w[++n] = a[i] * i;
}
if(!ok) break;
if(sum & ){
puts("Can't");
continue;
}
memset(f,false,sizeof(f));
f[] = true;
for(int i = ;i <= n;i++){
for(int j = sum >> ;j >= w[i];j--){
if(f[j - w[i]]) f[j] = true;
}
if(f[sum>>]){
ans = true;
break;
}
}
if(ans) puts("Can");
else puts("Can't");
}
return ;
}
tyvj1194 划分大理石的更多相关文章
- [tyvj-1194]划分大理石 二进制优化多重背包
突然发现这个自己还不会... 其实也不难,就和快速幂感觉很像,把物品数量二进制拆分一下,01背包即可 我是咸鱼 #include <cstdio> #include <cstring ...
- CH5E07 划分大理石【多重背包】
5E07 划分大理石 0x5E「动态规划」练习描述有价值分别为1..6的大理石各a[1..6]块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现.其中大理石的总数不超过20000. 输入 ...
- CH5E07 划分大理石(背包dp+二进制拆分)
传送门 大意: 有价值分别为1..6的大理石各a[1..6]块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现.其中大理石的总数不超过20000. 解题思路: 妥妥的多重背包+二 ...
- tyvj 1194 划分大理石(多重背包)
传送门 解题思路 二进制优化多重背包裸题. 代码 #include<iostream> #include<cstdio> #include<cstring> #in ...
- 背包问题(01背包,完全背包,多重背包(朴素算法&&二进制优化))
写在前面:我是一只蒟蒻~~~ 今天我们要讲讲动态规划中~~最最最最最~~~~简单~~的背包问题 1. 首先,我们先介绍一下 01背包 大家先看一下这道01背包的问题 题目 有m件物品和一个容量为 ...
- 常规DP专题练习
POJ2279 Mr. Young's Picture Permutations 题意 Language:Default Mr. Young's Picture Permutations Time L ...
- $2019$ 暑期刷题记录1:(算法竞赛DP练习)
$ 2019 $ 暑期刷题记录: $ POJ~1952~~BUY~LOW, BUY~LOWER: $ (复杂度优化) 题目大意:统计可重序列中最长上升子序列的方案数. 题目很直接的说明了所求为 $ L ...
- $CH$ $0x50$ & $0x51$ 做题记录
[X]$Mr.Young's\ Picture\ Permutations$ 前面这儿写了挺多道辣,,,懒得写辣$QAQ$ (后面所有同上都是同这个$QwQ$ [X]$LCIS$ 做过了,看这儿 $u ...
- [LeetCode] Partition List 划分链表
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
随机推荐
- Ngnix下安装python2.7
1 mkdir data 创建data目录 2 cd data 切换到data目录下 3 mkdir python27 创建python27目录 4 将下载好的python压缩包放在python27目 ...
- openstack学习(三)创建虚拟机
1 , 用图形管理界面创建虚拟机 #virt-manager //打开图形管理界面 配置文件一般存放于/etc/libvirt/qemu 然后按照提示一步步安装即可,网络连接方式改为桥接 导出创 ...
- 你不知道的Javascript(上卷)读书笔记之一 ---- 作用域
你不知道的Javascript(上卷)这本书在我看来是一本还不错的书籍,这本书用比较简洁的语言来描述Js的那些"坑",在这里写一些博客记录一下笔记以便消化吸收. 1 编译原理 在此 ...
- NOIP2015斗地主[DFS 贪心]
题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...
- Java 读写文件方案
一.获得控制台用户输入的信息 public String getInputMessage() throws IOException...{ System.out.println ...
- Django博客功能实现—文章评论的显示
功能:在打开文章之后,能在文章下面是显示文章的评论,有父级评论.思路:在文章详情的视图里面,获取这个文章的全部评论,得到显示列表,然后用模板显示出来.步骤:一,在views.py的文章详情中获取评论: ...
- java多线程系类:JUC线程池:04之线程池原理(三)(转)
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509960.html 本章介绍线程池的生命周期.在"Java多线程系列--"基础篇& ...
- 集合和String
集合 Collection 接口 |-List 接口 |-LinkedList 类 |-ArrayList 类 |-Set 接口 |-HashSet 类 |-TreeSet 类 |-LinkedHas ...
- C#进阶系列——动态Lamada
前言:在DDD系列文章里面,我们在后台仓储里面封装了传递Lamada表达式的通用方法,类似这样: public virtual IQueryable<TEntity> Find(Expre ...
- Web前端面试题目及答案汇总
HTML/CSS部分 1.什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元素的外边 ...