• 【topcoder SRM 702 DIV 2 250】TestTaking


    Problem Statement

    Recently, Alice had to take a test. The test consisted of a sequence of true/false questions. Alice was completely unprepared for the test, so she just guessed each answer.
    You are given the following inputs:
    an int questions: the number of questions on the test.
    an int guessed: the number of questions for which Alice guessed that the answer is “true”.
    an int actual: the actual number of questions for which the answer is “true”.
    In the test, each correct answer was worth 1 point and each incorrect answer was worth 0 points. Compute the largest possible number of points Alice could have received.
    Definition

    Class:
    TestTaking
    Method:
    findMax
    Parameters:
    int, int, int
    Returns:
    int
    Method signature:
    int findMax(int questions, int guessed, int actual)
    (be sure your method is public)
    Limits

    Time limit (s):
    2.000
    Memory limit (MB):
    256
    Stack limit (MB):
    256

    Constraints

    questions will be between 1 and 50, inclusive.

    guessed, actual will be between 0 and questions, inclusive.
    Examples
    0)

    3
    1
    2
    Returns: 2
    The test consisted of 3 statements.
    Alice guessed that 1 of them is true.
    Actually, there were 2 true statements on the test.
    There are multiple possible outcomes of the test.
    For example, it is possible that Alice wrote down the sequence of answers (false,true,false), but the correct sequence of answers is (true,false,true). In this case Alice would have received 0 points.
    One possible best scenario for Alice looks as follows: Alice guessed that the answers are (false,false,true), and the correct answers are (true,false,true). In this scenario Alice would have received 0+1+1 = 2 points.
    1)

    3
    2
    1
    Returns: 2

    2)

    5
    5
    0
    Returns: 0
    Alice guessed five times “true”, but all five correct answers were “false”. Thus, Alice certainly received 0 points.
    3)

    10
    8
    8
    Returns: 10

    4)

    7
    0
    2
    Returns: 5

    This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.

    【题目链接】:

    【题解】

    让你猜这个人最多能得多少分.
    其实答案就是min(questions-guess,question-actual)+min(guess,actual);
    就是尽量让这个人的答案和结果一样。

    【完整代码】

    #include <cstdio>
    #include <cstdlib>
    #include <cmath>
    #include <set>
    #include <map>
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <queue>
    #include <vector>
    #include <stack>
    #include <string>
    using namespace std;
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
    #define LL long long
    #define rep1(i,a,b) for (int i = a;i <= b;i++)
    #define rep2(i,a,b) for (int i = a;i >= b;i--)
    #define mp make_pair
    #define pb push_back
    #define fi first
    #define se second
    
    typedef pair<int,int> pii;
    typedef pair<LL,LL> pll;
    
    //const int MAXN = x;
    const int dx[5] = {0,1,-1,0,0};
    const int dy[5] = {0,0,0,-1,1};
    const double pi = acos(-1.0);
    
    class TestTaking
    {
        public:
        int findMax(int questions, int guessed, int actual)
        {
            int a1 = min(guessed,actual);
            int a2 = min(questions-guessed,questions-actual);
            return a1+a2;
        }
    };
    
    //提交时以下部分删去.
    
    int main()
    {
        //freopen("F:\rush.txt","r",stdin);
        TestTaking A;
        int a,b,c;
        cin >> a>>b>>c;
        cout <<A. findMax(a,b,c);
        return 0;
    }
    
  • 相关阅读:
    libevent中的bufferevent原理
    libevent中的事件机制
    libevent中数据缓冲区buffer分析
    libevent中最小堆实现算法解析
    我眼中的WebViewJavascriptBridge(图解)
    Tinyhttpd精读解析
    app微信支付的集成步骤
    java工厂模式的测试
    java Annotation 注解的使用
    android 连接蓝牙打印机 BluetoothAdapter
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626824.html
Copyright © 2020-2023  润新知