AtCoder 2333 Scc Puzzle (水题)

    xiaoxiao2021-04-12  32

    题目链接:http://abc055.contest.atcoder.jp/tasks/arc069_a?lang=en

    C - Scc Puzzle


    Time limit : 2sec / Memory limit : 256MB

    Score : 300 points

    Problem Statement

    Snuke loves puzzles.

    Today, he is working on a puzzle using S- and c-shaped pieces. In this puzzle, you can combine two c-shaped pieces into one S-shaped piece, as shown in the figure below:

    Snuke decided to create as many Scc groups as possible by putting together one S-shaped piece and two c-shaped pieces.

    Find the maximum number of Scc groups that can be created when Snuke has N S-shaped pieces and M c-shaped pieces.

    Constraints

    1N,M1012

    Input

    The input is given from Standard Input in the following format:

    N M

    Output

    Print the answer.


    Sample Input 1

    Copy 1 6

    Sample Output 1

    Copy 2

    Two Scc groups can be created as follows:

    Combine two c-shaped pieces into one S-shaped pieceCreate two Scc groups, each from one S-shaped piece and two c-shaped pieces

    Sample Input 2

    Copy 12345 678901

    Sample Output 2

    Copy 175897

    Submit

    题意:输入n个S, m个C,一个S可以由2个C组成,求一共有多少个Scc

    解析:先把S与C配对,剩下的C/4 + S的个数就是答案

    代码:

    #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<map> #include<cmath> #define N 1009 using namespace std; const int INF = 0x3f3f3f3f; typedef long long LL; LL fun(LL n, LL m) { if((m / 2) < n) return m / 2; LL ans = n; m = m - n * 2; ans = ans + m / 4; return ans; } int main() { LL n, m; scanf("%lld%lld", &n, &m); LL ans = fun(n, m); printf("%lld\n", ans); return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-667909.html

    最新回复(0)