首页 > 其他 > 详细

BestCoder Round 69 Div 2 1001 && HDU 5610

时间:2016-01-24 19:41:43      阅读:390      评论:0      收藏:0      [点我收藏+]

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5610

如果杠铃总质量是奇数直接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[100005][3] = {};

int main(){
   int T;
    scanf("%d",&T);
    while(T--){
        int cnt = 0;
        int big_flag = 0;
        memset(sum,0,sizeof(sum));
        scanf("%d%d%d",&a,&b,&c);
        if(c & 1){
            printf("Impossible\n");
        }        
        else{
            //let b is bigger than a
            if(a > b){
                int t = a;a = b;b = t;
                big_flag = 1;
            }
            for(int i = (c/2)/b;i >= 0; i --){
                if(((c/2) - b *i)%a==0){
                    sum[cnt][0] = 2*((c/2)-b*i)/a;
                    sum[cnt][1] = 2*i;
                    cnt++; 
                }
            }
            if(sum[0][0] == 0 && sum[0][1]==0){
                printf("Impossible\n");
            }
            else{
                int flag = 0;
                int minn = sum[0][0] + sum[0][1];
                for(int i = 0;i < cnt ;i++){
                    if(minn >= sum[i][0]+ sum[i][1]){
                        minn = sum[i][0]+ sum[i][1];
                        flag = i;
                    }
                }
                if(!big_flag){
                    printf("%d %d\n",sum[flag][0],sum[flag][1]);
                }
                else{
                    printf("%d %d\n",sum[flag][1],sum[flag][0]);
                }
            }
        }
    } 
    
    return 0;
}

  等个明后天把1002题补了。立个FLAG

BestCoder Round 69 Div 2 1001 && HDU 5610

原文:http://www.cnblogs.com/syuritsu/p/5155579.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!