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,那么在边界时讨论一下就行了 收获:这种题目不难,理解清楚 ...
随机推荐
- Mantis搭建步骤
(1)安装EeasyPHP (2)解压Mantis到EeasyPHP内www目录下 (3)将PHP复制到www目录下 并修改apache下httpd.conf及php.ini两个文件的php配置目录 ...
- AM335x kernel 4.4.12 i2c eeprom AT24c02驱动移植
kernel 4.4.12 i2c eeprom AT24c02驱动移植 在kernel make menuconfig ARCH=ARM 中打开: Device Drivers ---> Mi ...
- 一次erlang 节点CPU严重波动排查
新服务上线后观察到,CPU在10 ~ 70%间波动严重,但从每秒业务计数器看业务处理速度很平均. 接下来是排查步骤: 1. dstat -tam 大概每10s一个周期,网络流量开始变得很小,随后突然增 ...
- Debian8.3安装flash插件,备用~~~
debian的浏览器iceweasel默认没有安装flash播放器,flash player这坨shit,容易使浏览器崩溃,但看在线视频又不得不用这货. 有两种安装方法: 一.安装压缩包 1.先去官网 ...
- Android SDK Manager无法更新的解决[ 转]
将下列内容行添加到hosts文件中: 74.125.237.1 dl-ssl.google.com 1.Windows C:\WINDOWS\system32\drivers\etc\Hosts 2. ...
- vs2012 安装entity framework
1.安装vs2012 2.打开vs2012的工具下的扩展工具 3.搜索nuget,没安装的直接在线安装 4.安装好了NuGet,程序包管理器控制台 5.执行命令Install-Package Enti ...
- RSA原理及生成步骤
摘自:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html(可到原网址查看秘钥生成原理) RSA算法原理(一) 因为它是 ...
- AngularJS 相关小问题解决方案合集
1 解决 Select选择框遍历时,出现一个空白选项: <select style="width: 20%;margin-left: 5px;height: 31px;" ...
- Delphi的分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同
转载自:http://www.cnblogs.com/qiusl/p/4028437.html?utm_source=tuicool 我估摸着内存分配+释放是个基础的函数,有些人可能没注意此类函数或细 ...
- Oracle over函数
Oracle over函数 SQL code: sql over的作用及用法RANK ( ) OVER ( [query_partition_clause] order_by_clause )DE ...