zoukankan      html  css  js  c++  java
  • codeforces 478A.Initial Bet 解题报告

    题目链接:http://codeforces.com/problemset/problem/478/A

    题目意思:简单来说,就是初始化的时候,五个人的值都是 b,现在给出每个人最终的状态:就是经过互相给予后或少或多的值的情况,问是否能求出这样一个 b。

       好容易想到的方法是,求出已知的这五个数最终状态的值的总和sum,然后求出平均值avg,这个平均值如果能够求出,即无余数或者不足,那么就代表有答案了,这个答案就是求出的平均数了。

       不过.....这题有些地方比较阴险。如果好单纯地认为,sum % 5 != 0 就意味着无解(输出-1),那就中了圈套了(= =,我就是一个版)。首先这个 b 要是 positive number!即最开始的时候,五个人的值是: b b b b b (b > 0)。那么如果最终状态是 0 0 0 0 0 这个是不满足条件的,因为与初始值(b > 0)相违背(无论怎么互相给予都不可能滴!!!),此时输出 -1

        还有一点就是,如果很巧地,最终状态是 x x x x x,且 x == b 的时候,是输出 b 的值,而不是无解(又中奖了)。。。最后琴晚怂恿舍友陪我打比赛(来不及注册,codeforces变成 codeforge(我以为她拼对的)),有点分心,最终结果就...呵呵了...

       

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstdlib>
     4 #include <cstring>
     5 using namespace std;
     6 
     7 int main()
     8 {
     9     int a, b, c, d, e, ans;
    10     while (scanf("%d%d%d%d%d", &a, &b, &c, &d, &e) != EOF)
    11     {
    12         int sum = a + b + c + d + e;
    13         if (sum % 5 == 0)
    14             ans = sum / 5;
    15 
    16         printf("%d
    ", sum % 5 || ans == 0 ? -1 : sum / 5);
    17     }
    18     return 0;
    19 }
  • 相关阅读:
    如何在Epower工作流平台(企业流程管理平台)上建立OA系统
    工作流管理系统应按需选型
    在工作流基础上的解决方案清单
    优化IT企业基础架构
    DataGrid控件用法
    Oracle设置初始化参数 REMOTE_LOGIN_PASSWORDFILE
    淘宝网的剩余时间(倒计时)实现
    Orace sequenced 简单介绍(自增长字段)
    C#与Oracle开发中执行存储过程问题
    ASP.NET中回车触发指定按钮的事件
  • 原文地址:https://www.cnblogs.com/windysai/p/4032314.html
Copyright © 2011-2022 走看看