BestCoder Round 69 Div 2 1001&& 1002 || HDU 5610 && 5611
如果杠铃总质量是奇数直接impossible
接着就考验耐心和仔细周全的考虑了。在WA了三次后终于发现问题了,想对自己说是不是撒
首先最好从大的那个开始考虑,我的方案就是两数交换一下,结果输出的时候没有考虑。。。
然后就是要求a+b最小,那么循环就要从大的开始向小的循环。
其实我也解释不清楚,更解释不清楚的是学长取名的Baby Nero,一直以为铭铭姐是女的的我,在看到真的铭神的照片的时候惊呆了
比赛时候的渣代码:
#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring>
#include <queue>
#include <vector> using namespace std; int a,b,c;
int sum[][] = {}; int main(){
int T;
scanf("%d",&T);
while(T--){
int cnt = ;
int big_flag = ;
memset(sum,,sizeof(sum));
scanf("%d%d%d",&a,&b,&c);
if(c & ){
printf("Impossible\n");
}
else{
//let b is bigger than a
if(a > b){
int t = a;a = b;b = t;
big_flag = ;
}
for(int i = (c/)/b;i >= ; i --){
if(((c/) - b *i)%a==){
sum[cnt][] = *((c/)-b*i)/a;
sum[cnt][] = *i;
cnt++;
}
}
if(sum[][] == && sum[][]==){
printf("Impossible\n");
}
else{
int flag = ;
int minn = sum[][] + sum[][];
for(int i = ;i < cnt ;i++){
if(minn >= sum[i][]+ sum[i][]){
minn = sum[i][]+ sum[i][];
flag = i;
}
}
if(!big_flag){
printf("%d %d\n",sum[flag][],sum[flag][]);
}
else{
printf("%d %d\n",sum[flag][],sum[flag][]);
}
}
}
} return ;
}
等个明后天把1002题补了。立个FLAG
代码效率不高,速度很慢。主要是在年月日的判断上先判断谁还可以优化一下。但是还算浅显易懂。
#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring>
#include <queue>
#include <vector> #define rep(i,a,n) for(int i = a;i < n;i++)
#define per(i,a,n) for(int i = n-1;i >=a;i--)
#define pb push_back
#define VI vector<int>
#define QI queue<int> typedef long long ll; using namespace std; int a,b,n;
char ch[] = {};
int num[] = {}; int check(){
int flag = ;
rep(i,,) if(num[i]!=num[i+]) flag = ;
if(flag == ) return ; flag = ;
rep(i,,) if(num[i]!=num[i+]-) flag = ;
if(flag == ) return ; flag = ;
rep(i,,) if(num[i]!=num[i+]+) flag = ;
if(flag == ) return ; /*NOTE:
PHONE NUMBER SAMPLE 138-1997-05-06
012 3456 78 9[10]
*/
int y = num[] * + num[] * + num[] * + num[];
int m = num[] * + num[];
int d = num[] * + num[];
if(y < || y > ){
return ;
}
else{
if(m < || m > ){
return ;
}
else{
if(m == || m == || m == || m == || m == || m == || m == ){
if(d < || d > ){
return ;
}
else{
return ;
}
}
else{
if(m == ){
if((y%==&&y%==)||(y%!=&&y%==)){
if(d < || d > ){
return ;
}
else{
return ;
}
}
else{
if(d < || d > ){
return ;
}
else{
return ;
}
}
}
else{
if(d < || d > ){
return ;
}
else{
return ;
}
}
}
}
}
} int main(){
int T;
scanf("%d",&T);
while(T--){
ll sum = ;
scanf("%d%d%d",&n,&a,&b);
rep(i,,n+){
scanf("%s",ch);
rep(j,,){
num[j] = ch[j] - '';
}
if(check()){
sum += a;
}
else{
sum += b;
}
}
cout<<sum<<endl;
}
return ;
}
剩下的两道真的有空再补,立FLAG
BestCoder Round 69 Div 2 1001&& 1002 || HDU 5610 && 5611的更多相关文章
- BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)
Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- 判素数+找规律 BestCoder Round #51 (div.2) 1001 Zball in Tina Town
题目传送门 /* 题意: 求(n-1)! mod n 数论:没啥意思,打个表能发现规律,但坑点是4时要特判! */ /***************************************** ...
- BestCoder Round #68 (div.2) tree(hdu 5606)
tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...
- BestCoder Round #50 (div.1) 1001 Distribution money (HDU OJ 5364)
题目:Click here 题意:bestcoder上面有中文题目 #include <iostream> #include <cstdio> #include <cst ...
- ACM学习历程—HDU5585 Numbers(数论 || 大数)(BestCoder Round #64 (div.2) 1001)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5585 题目大意就是求大数是否能被2,3,5整除. 我直接上了Java大数,不过可以对末尾来判断2和5, ...
- BestCoder Round #69 (div.2)(hdu5611)
Baby Ming and phone number Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K (Ja ...
- BestCoder Round #68 (div.2) geometry(hdu 5605)
geometry Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- BestCoder Round #81 (div.2)1001
Machine Accepts: 580 Submissions: 1890 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65 ...
- 构造 BestCoder Round #52 (div.2) 1001 Victor and Machine
题目传送门 题意:有中文版的 分析:首先要知道机器关闭后,w是清零的.所以一次(x + y)的循环弹出的小球个数是固定的,为x / w + 1,那么在边界时讨论一下就行了 收获:这种题目不难,理解清楚 ...
随机推荐
- 学习 opencv---(4) 分离颜色通道 && 多通道混合
上篇文章中我们讲到了使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操作. 而为了更好地观察一些图像材料的特征,有时需要对R ...
- 《PHP字符串函数》笔记
① str_repeat() 重复一个字符串; ② str_shuffle() 随机打乱一个字符串; ③ strftime() 根据区域设置格式化本地时间/日期; ④ strip_tags() 从字符 ...
- How to see the "real" available resources ?
Hi, Hope this will help you : nova hypervisor-stats It will return the statistics of the Hypervisor ...
- linux下php-mysql拓展安装
今天遇到一个奇怪的问题: 在服务器A上部署应用,在服务器B上部署数据库和缓存. 服务器A:apache2.2,php5.3 服务器B:mysql5.5,redis2.4 问题现象: 本地远程连接服务器 ...
- Android studio 英文——中文 翻译插件
TranslationPlugin 1.手动下载 TranslationPlugin ,在Android studio 中 2. 3. 4.选中文件,点击OK 5.设置快捷键 代号1 : 代号2 :
- url带#号,微信支付那些坑
现在前端很多框架的前端路由都带#号,主要为了做到无刷新跳转页面. 在微信公众号做微信支付时,配置的支付路径比如是http://www.eee.com/#/order,在调微信支付的方法时错误信息是'U ...
- List提取相同元素
List<int> currentList = Cls_Data.SoruceDataIntses[key]; preList = currentList.Intersect(preLis ...
- sql 查询当前数据库所有表格以及所有表格数据条数
select b.name as tablename , a.rowcnt as datacount from sysindexes a , sysobjects b where a.id = b.i ...
- U盘安装centos7 无法进入安装界面,进入dracut命令的解决办法。
最近想要装一个centos7 玩一玩,就从网上下了个镜像,用UltraISO制作了安装U盘,准备在旧电脑上装一个. 结果始终无法进入安装界面,而是进入了dracut命令行. 从网上找了解决方法:
- ****基于H5的微信支付开发详解[转]
这次总结一下用户在微信内打开网页时,可以调用微信支付完成下单功能的模块开发,也就是在微信内的H5页面通过jsApi接口实现支付功能.当然了,微信官网上的微信支付开发文档也讲解的很详细,并且有实现代码可 ...