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,那么在边界时讨论一下就行了 收获:这种题目不难,理解清楚 ...
随机推荐
- 我的js函数库(持续更新)
常用js初始化函数 function id(obj) { return document.getElementById(obj); } function bind(obj, ev, fn) { if ...
- MVC中使用Entity Framework 基于方法的查询学习笔记 (一)
EF中基于方法的查询方式不同于LINQ和以往的ADO.NET,正因为如此,有必要深入学习一下啦.闲话不多说,现在开始一个MVC项目,在项目中临床学习. 创建MVC项目 1.“文件”--“新建项目”-- ...
- nginx windows负载均衡入门
前言 做了几年开发,都是只管码代码,没有参与过项目的部署,为了知识体系更加完整,于是开始学习一下负载均衡.查了一下资料,觉得用nginx +iis 比较简单,于是小试牛刀. 步骤 准备工作 下载ngi ...
- il c井
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 将resource 替换成 fileComplier 生成的 resx(可以 ...
- js词法分析
JavaScript的高级知识---词法分析 词法分析 词法分析方法: js运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数说明 函数在运行的瞬间, ...
- javascript for循环
2016年12月28日 20:01:54 星期三 html: <a href="aaaa">AAAA</a> <a href="bbbb&q ...
- maven学习(上)- 基本入门用法
一.下载及安装 1.1 下载maven 3.1.1 先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本 ...
- item2快捷键
整理使用 iTerm 2 过程中得常用快捷键,Mac 原来自带的终端工具 Terminal 不好用是出了名的,虽然最近几个版本苹果稍微做了些优化,功能上,可用性方面增强不少,无奈有个更好用的 Iter ...
- oracle打补丁
oracle 数据库补丁安装(单实例) ------------24006111 注:务必先安装24006111再安装24315821,否则无法进行正常的补丁安装流程.1.关闭数据库监听和数据库实例 ...
- C# oracle odp.net 32位/64位版本的问题
问题如下: 系统是win7 64位,技术 asp.net mvc 4, 数据库 oracle 11g. 由于某些原因只能使用 32的 ODP.NET ( Oracle Data Provider ), ...