zoukankan      html  css  js  c++  java
  • 【74.00%】【codeforces 747A】Display Size

    time limit per test1 second
    memory limit per test256 megabytes
    inputstandard input
    outputstandard output
    A big company decided to launch a new series of rectangular displays, and decided that the display must have exactly n pixels.

    Your task is to determine the size of the rectangular display — the number of lines (rows) of pixels a and the number of columns of pixels b, so that:

    there are exactly n pixels on the display;
    the number of rows does not exceed the number of columns, it means a ≤ b;
    the difference b - a is as small as possible.
    Input
    The first line contains the positive integer n (1 ≤ n ≤ 106) — the number of pixels display should have.

    Output
    Print two integers — the number of rows and columns on the display.

    Examples
    input
    8
    output
    2 4
    input
    64
    output
    8 8
    input
    5
    output
    1 5
    input
    999999
    output
    999 1001
    Note
    In the first example the minimum possible difference equals 2, so on the display should be 2 rows of 4 pixels.

    In the second example the minimum possible difference equals 0, so on the display should be 8 rows of 8 pixels.

    In the third example the minimum possible difference equals 4, so on the display should be 1 row of 5 pixels.

    【题目链接】:http://codeforces.com/contest/747/problem/A

    【题解】

    暴力枚举n的因子x
    看看n/x是不是满足x<=n/x
    然后记录那个差最小的就好.

    【完整代码】

    #include <bits/stdc++.h>
    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
    #define rei(x) scanf("%d",&x)
    #define rel(x) scanf("%I64d",&x)
    
    typedef pair<int,int> pii;
    typedef pair<LL,LL> pll;
    
    //const int MAXN = x;
    const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
    const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
    const double pi = acos(-1.0);
    
    int n;
    int ma = 1e7,ansa,ansb;
    
    int main()
    {
        //freopen("F:\rush.txt","r",stdin);
        rei(n);
        rep1(i,1,n)
        if ((n%i)==0)
        {
            int a = n/i;
            int b = i;
            if (a <= b)
            {
                if (b-a<=ma)
                {
                    ma = b-a;
                    ansa = a;
                    ansb = b;
                }
            }
        }
        cout << ansa<<" "<<ansb<<endl;
        return 0;
    }
  • 相关阅读:
    网络编程的基础
    day31作业
    异常处理其他内容
    异常处理的使用
    常见的异常种类
    ansible条件使用--实践
    Ansible的循环
    Ansible的条件语句
    ansibleplaybook的使用
    ansible官方文档翻译之变量
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626797.html
Copyright © 2011-2022 走看看